From c491d841dcb730fa8d1088fdc690334fc6680694 Mon Sep 17 00:00:00 2001 From: Tim Hogarty Date: Fri, 8 Dec 2023 11:34:31 -0800 Subject: [PATCH 1/2] Rebuild Fabric-Go SDK with Fabric 4.11 Spec --- Makefile | 2 +- README.md | 70 +- api/swagger.yaml | 7277 ++++++++++++----- docs/AccessPoint.md | 1 + docs/AllOfRouteFiltersDataProject.md | 10 + docs/ConnectionRouteFilterData.md | 13 + ...quest.md => ConnectionRouteFiltersBase.md} | 4 +- docs/ConnectionsApi.md | 2 +- docs/GetAllConnectionRouteFiltersResponse.md | 10 + docs/GetRouteFilterGetConnectionsResponse.md | 10 + docs/GetRouteFilterRulesResponse.md | 10 + docs/LinkProtocolVxlan.md | 10 + docs/ModelInterface.md | 7 +- docs/PrecisionTimeApi.md | 28 +- docs/PrecisionTimeServiceCreateResponse.md | 2 +- docs/PrecisionTimeServiceRequest.md | 2 +- docs/RouteFilterChangeData.md | 18 + docs/RouteFilterChangeDataResponse.md | 10 + docs/RouteFilterChangePrefixMatch.md | 11 + docs/RouteFilterConnectionsData.md | 12 + docs/RouteFilterRulesApi.md | 298 + docs/RouteFilterRulesBase.md | 12 + docs/RouteFilterRulesChange.md | 11 + docs/RouteFilterRulesChangeData.md | 17 + docs/RouteFilterRulesChangeDataResponse.md | 10 + docs/RouteFilterRulesChangeOperation.md | 13 + docs/RouteFilterRulesData.md | 18 + docs/RouteFilterRulesPostRequest.md | 9 + ...nnectionRequest.md => RouteFilterState.md} | 3 +- docs/RouteFiltersApi.md | 371 + docs/RouteFiltersBase.md | 13 + docs/RouteFiltersChange.md | 11 + docs/RouteFiltersChangeOperation.md | 11 + docs/RouteFiltersData.md | 20 + docs/RoutingProtocolsApi.md | 2 +- docs/ServiceMetro.md | 1 + docs/ServiceMetros.md | 10 + docs/ServiceProfilesApi.md | 38 + ...netRequestFilter.md => ValidateRequest.md} | 4 +- docs/ValidateRequestFilter.md | 9 + ...lterAnd.md => ValidateRequestFilterAnd.md} | 2 +- docs/VirtualNetwork.md | 10 + fabric/v4/api_connections.go | 2 +- fabric/v4/api_precision_time.go | 20 +- fabric/v4/api_route_filter_rules.go | 1325 +++ fabric/v4/api_route_filters.go | 1817 ++++ fabric/v4/api_routing_protocols.go | 2 +- fabric/v4/api_service_profiles.go | 142 + fabric/v4/client.go | 8 +- fabric/v4/model_access_point.go | 3 +- fabric/v4/model_access_point_type.go | 17 +- ...model_all_of_route_filters_data_project.go | 16 + fabric/v4/model_code.go | 8 +- .../v4/model_connection_route_filter_data.go | 20 + ...=> model_connection_route_filters_base.go} | 6 +- fabric/v4/model_fabric_cloud_router_code.go | 8 +- ...t_all_connection_route_filters_response.go | 15 + ...t_route_filter_get_connections_response.go | 15 + .../model_get_route_filter_rules_response.go | 15 + fabric/v4/model_interface.go | 10 +- fabric/v4/model_link_protocol_type.go | 1 + fabric/v4/model_link_protocol_vxlan.go | 16 + fabric/v4/model_one_of_link_protocol.go | 1 + ..._precision_time_service_create_response.go | 2 +- .../model_precision_time_service_request.go | 2 +- fabric/v4/model_route_filter_change_data.go | 36 + ...model_route_filter_change_data_response.go | 15 + .../model_route_filter_change_prefix_match.go | 19 + .../v4/model_route_filter_connections_data.go | 18 + fabric/v4/model_route_filter_rules_base.go | 17 + fabric/v4/model_route_filter_rules_change.go | 19 + .../model_route_filter_rules_change_data.go | 34 + ...route_filter_rules_change_data_response.go | 15 + ...del_route_filter_rules_change_operation.go | 23 + fabric/v4/model_route_filter_rules_data.go | 27 + .../model_route_filter_rules_post_request.go | 15 + fabric/v4/model_route_filter_state.go | 23 + fabric/v4/model_route_filters_base.go | 20 + fabric/v4/model_route_filters_change.go | 19 + .../model_route_filters_change_operation.go | 18 + fabric/v4/model_route_filters_data.go | 29 + fabric/v4/model_router_package_code.go | 8 +- fabric/v4/model_service_metro.go | 8 +- fabric/v4/model_service_metros.go | 15 + ...n_request.go => model_validate_request.go} | 4 +- ...er.go => model_validate_request_filter.go} | 4 +- ...o => model_validate_request_filter_and.go} | 2 +- fabric/v4/model_virtual_network.go | 17 + go.mod | 4 +- go.sum | 8 +- spec.fetched.yaml | 3187 +++++++- spec.patched.yaml | 3187 +++++++- 92 files changed, 16401 insertions(+), 2263 deletions(-) create mode 100644 docs/AllOfRouteFiltersDataProject.md create mode 100644 docs/ConnectionRouteFilterData.md rename docs/{ValidateSubnetRequest.md => ConnectionRouteFiltersBase.md} (66%) create mode 100644 docs/GetAllConnectionRouteFiltersResponse.md create mode 100644 docs/GetRouteFilterGetConnectionsResponse.md create mode 100644 docs/GetRouteFilterRulesResponse.md create mode 100644 docs/LinkProtocolVxlan.md create mode 100644 docs/RouteFilterChangeData.md create mode 100644 docs/RouteFilterChangeDataResponse.md create mode 100644 docs/RouteFilterChangePrefixMatch.md create mode 100644 docs/RouteFilterConnectionsData.md create mode 100644 docs/RouteFilterRulesApi.md create mode 100644 docs/RouteFilterRulesBase.md create mode 100644 docs/RouteFilterRulesChange.md create mode 100644 docs/RouteFilterRulesChangeData.md create mode 100644 docs/RouteFilterRulesChangeDataResponse.md create mode 100644 docs/RouteFilterRulesChangeOperation.md create mode 100644 docs/RouteFilterRulesData.md create mode 100644 docs/RouteFilterRulesPostRequest.md rename docs/{ValidateConnectionRequest.md => RouteFilterState.md} (65%) create mode 100644 docs/RouteFiltersApi.md create mode 100644 docs/RouteFiltersBase.md create mode 100644 docs/RouteFiltersChange.md create mode 100644 docs/RouteFiltersChangeOperation.md create mode 100644 docs/RouteFiltersData.md create mode 100644 docs/ServiceMetros.md rename docs/{ValidateSubnetRequestFilter.md => ValidateRequest.md} (64%) create mode 100644 docs/ValidateRequestFilter.md rename docs/{ValidateSubnetRequestFilterAnd.md => ValidateRequestFilterAnd.md} (93%) create mode 100644 docs/VirtualNetwork.md create mode 100644 fabric/v4/api_route_filter_rules.go create mode 100644 fabric/v4/api_route_filters.go create mode 100644 fabric/v4/model_all_of_route_filters_data_project.go create mode 100644 fabric/v4/model_connection_route_filter_data.go rename fabric/v4/{model_validate_subnet_request.go => model_connection_route_filters_base.go} (81%) create mode 100644 fabric/v4/model_get_all_connection_route_filters_response.go create mode 100644 fabric/v4/model_get_route_filter_get_connections_response.go create mode 100644 fabric/v4/model_get_route_filter_rules_response.go create mode 100644 fabric/v4/model_link_protocol_vxlan.go create mode 100644 fabric/v4/model_route_filter_change_data.go create mode 100644 fabric/v4/model_route_filter_change_data_response.go create mode 100644 fabric/v4/model_route_filter_change_prefix_match.go create mode 100644 fabric/v4/model_route_filter_connections_data.go create mode 100644 fabric/v4/model_route_filter_rules_base.go create mode 100644 fabric/v4/model_route_filter_rules_change.go create mode 100644 fabric/v4/model_route_filter_rules_change_data.go create mode 100644 fabric/v4/model_route_filter_rules_change_data_response.go create mode 100644 fabric/v4/model_route_filter_rules_change_operation.go create mode 100644 fabric/v4/model_route_filter_rules_data.go create mode 100644 fabric/v4/model_route_filter_rules_post_request.go create mode 100644 fabric/v4/model_route_filter_state.go create mode 100644 fabric/v4/model_route_filters_base.go create mode 100644 fabric/v4/model_route_filters_change.go create mode 100644 fabric/v4/model_route_filters_change_operation.go create mode 100644 fabric/v4/model_route_filters_data.go create mode 100644 fabric/v4/model_service_metros.go rename fabric/v4/{model_validate_connection_request.go => model_validate_request.go} (87%) rename fabric/v4/{model_validate_subnet_request_filter.go => model_validate_request_filter.go} (86%) rename fabric/v4/{model_validate_subnet_request_filter_and.go => model_validate_request_filter_and.go} (95%) create mode 100644 fabric/v4/model_virtual_network.go diff --git a/Makefile b/Makefile index 78572eb..8079e34 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ CURRENT_UID := $(shell id -u) CURRENT_GID := $(shell id -g) -SPEC_URL:="https://api.swaggerhub.com/apis/equinix-api/fabric/4.10/swagger.yaml" +SPEC_URL:="https://api.swaggerhub.com/apis/equinix-api/fabric/4.11/swagger.yaml" SPEC_FETCHED_FILE:=spec.fetched.yaml SPEC_PATCHED_FILE:=spec.patched.yaml diff --git a/README.md b/README.md index 1e3656f..fa981a2 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Equinix Fabric is an advanced software-defined interconnection solution that ena ## Overview This API client was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [swagger-spec](https://github.com/swagger-api/swagger-spec) from a remote server, you can easily generate an API client. -- API version: 4.10 +- API version: 4.11 - Package version: 1.0.0 - Build package: io.swagger.codegen.v3.generators.go.GoClientCodegen For more information, please visit [https://equinix.com/about/](https://equinix.com/about/) @@ -57,14 +57,35 @@ Class | Method | HTTP request | Description *PortsApi* | [**GetPorts**](docs/PortsApi.md#getports) | **Get** /fabric/v4/ports | Get All Ports *PortsApi* | [**GetVlans**](docs/PortsApi.md#getvlans) | **Get** /fabric/v4/ports/{portUuid}/linkProtocols | Get Vlans *PortsApi* | [**SearchPorts**](docs/PortsApi.md#searchports) | **Post** /fabric/v4/ports/search | Search ports -*PrecisionTimeApi* | [**CreateTimeServices**](docs/PrecisionTimeApi.md#createtimeservices) | **Post** /fabric/v4/timeServices | Create Time Service -*PrecisionTimeApi* | [**DeleteTimeServiceById**](docs/PrecisionTimeApi.md#deletetimeservicebyid) | **Delete** /fabric/v4/timeServices/{serviceId} | Delete Time Service -*PrecisionTimeApi* | [**GetTimeServicesById**](docs/PrecisionTimeApi.md#gettimeservicesbyid) | **Get** /fabric/v4/timeServices/{serviceId} | Get Time Service -*PrecisionTimeApi* | [**GetTimeServicesConnectionsByServiceId**](docs/PrecisionTimeApi.md#gettimeservicesconnectionsbyserviceid) | **Get** /fabric/v4/timeServices/{serviceId}/connections | Get all Connections -*PrecisionTimeApi* | [**GetTimeServicesPackageByCode**](docs/PrecisionTimeApi.md#gettimeservicespackagebycode) | **Get** /fabric/v4/timeServicePackages/{packageCode} | Get Package by Code -*PrecisionTimeApi* | [**GetTimeServicesPackages**](docs/PrecisionTimeApi.md#gettimeservicespackages) | **Get** /fabric/v4/timeServicePackages | Get Packages -*PrecisionTimeApi* | [**UpdateTimeServicesById**](docs/PrecisionTimeApi.md#updatetimeservicesbyid) | **Patch** /fabric/v4/timeServices/{serviceId} | Patch Time Service +*PrecisionTimeApi* | [**CreateTimeServices**](docs/PrecisionTimeApi.md#createtimeservices) | **Post** /fabric/v4/timeServices | Create time service +*PrecisionTimeApi* | [**DeleteTimeServiceById**](docs/PrecisionTimeApi.md#deletetimeservicebyid) | **Delete** /fabric/v4/timeServices/{serviceId} | Delete time service +*PrecisionTimeApi* | [**GetTimeServicesById**](docs/PrecisionTimeApi.md#gettimeservicesbyid) | **Get** /fabric/v4/timeServices/{serviceId} | Get time service +*PrecisionTimeApi* | [**GetTimeServicesConnectionsByServiceId**](docs/PrecisionTimeApi.md#gettimeservicesconnectionsbyserviceid) | **Get** /fabric/v4/timeServices/{serviceId}/connections | Get Conn Links +*PrecisionTimeApi* | [**GetTimeServicesPackageByCode**](docs/PrecisionTimeApi.md#gettimeservicespackagebycode) | **Get** /fabric/v4/timeServicesPackages/{packageCode} | Get package by Code +*PrecisionTimeApi* | [**GetTimeServicesPackages**](docs/PrecisionTimeApi.md#gettimeservicespackages) | **Get** /fabric/v4/timeServicesPackages | Get Packages +*PrecisionTimeApi* | [**UpdateTimeServicesById**](docs/PrecisionTimeApi.md#updatetimeservicesbyid) | **Patch** /fabric/v4/timeServices/{serviceId} | Patch time service *PricesApi* | [**SearchPrices**](docs/PricesApi.md#searchprices) | **Post** /fabric/v4/prices/search | Get Prices +*RouteFilterRulesApi* | [**CreateRouteFilterRule**](docs/RouteFilterRulesApi.md#createroutefilterrule) | **Post** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | Create RFRule +*RouteFilterRulesApi* | [**CreateRouteFilterRulesInBulk**](docs/RouteFilterRulesApi.md#createroutefilterrulesinbulk) | **Post** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk | Bulk RFRules +*RouteFilterRulesApi* | [**DeleteRouteFilterRuleByUuid**](docs/RouteFilterRulesApi.md#deleteroutefilterrulebyuuid) | **Delete** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | DeleteRFRule +*RouteFilterRulesApi* | [**GetRouteFilterRuleByUuid**](docs/RouteFilterRulesApi.md#getroutefilterrulebyuuid) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | GetRFRule By UUID +*RouteFilterRulesApi* | [**GetRouteFilterRuleChangeByUuid**](docs/RouteFilterRulesApi.md#getroutefilterrulechangebyuuid) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId} | Get Change By ID +*RouteFilterRulesApi* | [**GetRouteFilterRuleChanges**](docs/RouteFilterRulesApi.md#getroutefilterrulechanges) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes | Get All Changes +*RouteFilterRulesApi* | [**GetRouteFilterRules**](docs/RouteFilterRulesApi.md#getroutefilterrules) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | GetRFRules +*RouteFilterRulesApi* | [**PatchRouteFilterRuleByUuid**](docs/RouteFilterRulesApi.md#patchroutefilterrulebyuuid) | **Patch** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | PatchRFilterRule +*RouteFilterRulesApi* | [**ReplaceRouteFilterRuleByUuid**](docs/RouteFilterRulesApi.md#replaceroutefilterrulebyuuid) | **Put** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | ReplaceRFRule +*RouteFiltersApi* | [**AttachConnectionRouteFilter**](docs/RouteFiltersApi.md#attachconnectionroutefilter) | **Put** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Attach Route Filter +*RouteFiltersApi* | [**CreateRouteFilter**](docs/RouteFiltersApi.md#createroutefilter) | **Post** /fabric/v4/routeFilters | Create Route Filters +*RouteFiltersApi* | [**DeleteRouteFilterByUuid**](docs/RouteFiltersApi.md#deleteroutefilterbyuuid) | **Delete** /fabric/v4/routeFilters/{routeFilterId} | Delete Route Filter +*RouteFiltersApi* | [**DetachConnectionRouteFilter**](docs/RouteFiltersApi.md#detachconnectionroutefilter) | **Delete** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Detach Route Filter +*RouteFiltersApi* | [**GetConnectionRouteFilterByUuid**](docs/RouteFiltersApi.md#getconnectionroutefilterbyuuid) | **Get** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Get Route Filter +*RouteFiltersApi* | [**GetConnectionRouteFilters**](docs/RouteFiltersApi.md#getconnectionroutefilters) | **Get** /fabric/v4/connections/{connectionId}/routeFilters | Get All RouteFilters +*RouteFiltersApi* | [**GetRouteFilterByUuid**](docs/RouteFiltersApi.md#getroutefilterbyuuid) | **Get** /fabric/v4/routeFilters/{routeFilterId} | Get Filter By UUID +*RouteFiltersApi* | [**GetRouteFilterChangeByUuid**](docs/RouteFiltersApi.md#getroutefilterchangebyuuid) | **Get** /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId} | Get Change By ID +*RouteFiltersApi* | [**GetRouteFilterChanges**](docs/RouteFiltersApi.md#getroutefilterchanges) | **Get** /fabric/v4/routeFilters/{routeFilterId}/changes | Get All Changes +*RouteFiltersApi* | [**GetRouteFilterConnections**](docs/RouteFiltersApi.md#getroutefilterconnections) | **Get** /fabric/v4/routeFilters/{routeFilterId}/connections | Get Connections +*RouteFiltersApi* | [**PatchRouteFilterByUuid**](docs/RouteFiltersApi.md#patchroutefilterbyuuid) | **Patch** /fabric/v4/routeFilters/{routeFilterId} | Patch Route Filter +*RouteFiltersApi* | [**ReplaceRouteFilterByUuid**](docs/RouteFiltersApi.md#replaceroutefilterbyuuid) | **Put** /fabric/v4/routeFilters/{routeFilterId} | Replace Route Filter *RoutingProtocolsApi* | [**CreateConnectionRoutingProtocol**](docs/RoutingProtocolsApi.md#createconnectionroutingprotocol) | **Post** /fabric/v4/connections/{connectionId}/routingProtocols | Create Protocol *RoutingProtocolsApi* | [**CreateConnectionRoutingProtocolsInBulk**](docs/RoutingProtocolsApi.md#createconnectionroutingprotocolsinbulk) | **Post** /fabric/v4/connections/{connectionId}/routingProtocols/bulk | Bulk Create Protocol *RoutingProtocolsApi* | [**DeleteConnectionRoutingProtocolByUuid**](docs/RoutingProtocolsApi.md#deleteconnectionroutingprotocolbyuuid) | **Delete** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Delete Protocol @@ -81,6 +102,7 @@ Class | Method | HTTP request | Description *ServiceProfilesApi* | [**CreateServiceProfile**](docs/ServiceProfilesApi.md#createserviceprofile) | **Post** /fabric/v4/serviceProfiles | Create Profile *ServiceProfilesApi* | [**DeleteServiceProfileByUuid**](docs/ServiceProfilesApi.md#deleteserviceprofilebyuuid) | **Delete** /fabric/v4/serviceProfiles/{serviceProfileId} | Delete Profile *ServiceProfilesApi* | [**GetServiceProfileByUuid**](docs/ServiceProfilesApi.md#getserviceprofilebyuuid) | **Get** /fabric/v4/serviceProfiles/{serviceProfileId} | Get Profile +*ServiceProfilesApi* | [**GetServiceProfileMetrosByUuid**](docs/ServiceProfilesApi.md#getserviceprofilemetrosbyuuid) | **Get** /fabric/v4/serviceProfiles/{serviceProfileId}/metros | Get Profile Metros *ServiceProfilesApi* | [**GetServiceProfiles**](docs/ServiceProfilesApi.md#getserviceprofiles) | **Get** /fabric/v4/serviceProfiles | Get all Profiles *ServiceProfilesApi* | [**PutServiceProfileByUuid**](docs/ServiceProfilesApi.md#putserviceprofilebyuuid) | **Put** /fabric/v4/serviceProfiles/{serviceProfileId} | Replace Profile *ServiceProfilesApi* | [**SearchServiceProfiles**](docs/ServiceProfilesApi.md#searchserviceprofiles) | **Post** /fabric/v4/serviceProfiles/search | Profile Search @@ -106,6 +128,7 @@ Class | Method | HTTP request | Description - [AddOperation](docs/AddOperation.md) - [AdditionalInfo](docs/AdditionalInfo.md) - [AdvanceConfiguration](docs/AdvanceConfiguration.md) + - [AllOfRouteFiltersDataProject](docs/AllOfRouteFiltersDataProject.md) - [AllOfServiceProfileAccount](docs/AllOfServiceProfileAccount.md) - [AllOfServiceProfileChangeLog](docs/AllOfServiceProfileChangeLog.md) - [AllPhysicalPortsResponse](docs/AllPhysicalPortsResponse.md) @@ -163,6 +186,8 @@ Class | Method | HTTP request | Description - [ConnectionPriority](docs/ConnectionPriority.md) - [ConnectionRedundancy](docs/ConnectionRedundancy.md) - [ConnectionResponse](docs/ConnectionResponse.md) + - [ConnectionRouteFilterData](docs/ConnectionRouteFilterData.md) + - [ConnectionRouteFiltersBase](docs/ConnectionRouteFiltersBase.md) - [ConnectionRoutingProtocolPostRequest](docs/ConnectionRoutingProtocolPostRequest.md) - [ConnectionSearchResponse](docs/ConnectionSearchResponse.md) - [ConnectionSide](docs/ConnectionSide.md) @@ -185,7 +210,10 @@ Class | Method | HTTP request | Description - [FilterBody](docs/FilterBody.md) - [GeoCoordinates](docs/GeoCoordinates.md) - [GeoScopeType](docs/GeoScopeType.md) + - [GetAllConnectionRouteFiltersResponse](docs/GetAllConnectionRouteFiltersResponse.md) - [GetResponse](docs/GetResponse.md) + - [GetRouteFilterGetConnectionsResponse](docs/GetRouteFilterGetConnectionsResponse.md) + - [GetRouteFilterRulesResponse](docs/GetRouteFilterRulesResponse.md) - [HealthResponse](docs/HealthResponse.md) - [IpBlockPrice](docs/IpBlockPrice.md) - [IpBlockType](docs/IpBlockType.md) @@ -206,6 +234,7 @@ Class | Method | HTTP request | Description - [LinkProtocolState](docs/LinkProtocolState.md) - [LinkProtocolType](docs/LinkProtocolType.md) - [LinkProtocolUntagged](docs/LinkProtocolUntagged.md) + - [LinkProtocolVxlan](docs/LinkProtocolVxlan.md) - [MarketingInfo](docs/MarketingInfo.md) - [Md5](docs/Md5.md) - [MetricInterval](docs/MetricInterval.md) @@ -301,6 +330,22 @@ Class | Method | HTTP request | Description - [QueryDirection](docs/QueryDirection.md) - [RemoveOperation](docs/RemoveOperation.md) - [ReplaceOperation](docs/ReplaceOperation.md) + - [RouteFilterChangeData](docs/RouteFilterChangeData.md) + - [RouteFilterChangeDataResponse](docs/RouteFilterChangeDataResponse.md) + - [RouteFilterChangePrefixMatch](docs/RouteFilterChangePrefixMatch.md) + - [RouteFilterConnectionsData](docs/RouteFilterConnectionsData.md) + - [RouteFilterRulesBase](docs/RouteFilterRulesBase.md) + - [RouteFilterRulesChange](docs/RouteFilterRulesChange.md) + - [RouteFilterRulesChangeData](docs/RouteFilterRulesChangeData.md) + - [RouteFilterRulesChangeDataResponse](docs/RouteFilterRulesChangeDataResponse.md) + - [RouteFilterRulesChangeOperation](docs/RouteFilterRulesChangeOperation.md) + - [RouteFilterRulesData](docs/RouteFilterRulesData.md) + - [RouteFilterRulesPostRequest](docs/RouteFilterRulesPostRequest.md) + - [RouteFilterState](docs/RouteFilterState.md) + - [RouteFiltersBase](docs/RouteFiltersBase.md) + - [RouteFiltersChange](docs/RouteFiltersChange.md) + - [RouteFiltersChangeOperation](docs/RouteFiltersChangeOperation.md) + - [RouteFiltersData](docs/RouteFiltersData.md) - [RouteTableEntry](docs/RouteTableEntry.md) - [RouteTableEntryConnection](docs/RouteTableEntryConnection.md) - [RouteTableEntryFilter](docs/RouteTableEntryFilter.md) @@ -333,6 +378,7 @@ Class | Method | HTTP request | Description - [SearchRequest](docs/SearchRequest.md) - [SearchResponse](docs/SearchResponse.md) - [ServiceMetro](docs/ServiceMetro.md) + - [ServiceMetros](docs/ServiceMetros.md) - [ServiceProfile](docs/ServiceProfile.md) - [ServiceProfileAccessPointColo](docs/ServiceProfileAccessPointColo.md) - [ServiceProfileAccessPointType](docs/ServiceProfileAccessPointType.md) @@ -384,10 +430,9 @@ Class | Method | HTTP request | Description - [Statistics](docs/Statistics.md) - [SubInterface](docs/SubInterface.md) - [TopUtilizedStatistics](docs/TopUtilizedStatistics.md) - - [ValidateConnectionRequest](docs/ValidateConnectionRequest.md) - - [ValidateSubnetRequest](docs/ValidateSubnetRequest.md) - - [ValidateSubnetRequestFilter](docs/ValidateSubnetRequestFilter.md) - - [ValidateSubnetRequestFilterAnd](docs/ValidateSubnetRequestFilterAnd.md) + - [ValidateRequest](docs/ValidateRequest.md) + - [ValidateRequestFilter](docs/ValidateRequestFilter.md) + - [ValidateRequestFilterAnd](docs/ValidateRequestFilterAnd.md) - [ValidateSubnetResponse](docs/ValidateSubnetResponse.md) - [ViewPoint](docs/ViewPoint.md) - [VirtualConnectionBridgePackageCode](docs/VirtualConnectionBridgePackageCode.md) @@ -404,6 +449,7 @@ Class | Method | HTTP request | Description - [VirtualConnectionPriceZSideAccessPointBridgePackage](docs/VirtualConnectionPriceZSideAccessPointBridgePackage.md) - [VirtualConnectionPriceZSideAccessPointProfile](docs/VirtualConnectionPriceZSideAccessPointProfile.md) - [VirtualDevice](docs/VirtualDevice.md) + - [VirtualNetwork](docs/VirtualNetwork.md) - [VirtualPortConfiguration](docs/VirtualPortConfiguration.md) - [VirtualPortLocation](docs/VirtualPortLocation.md) - [VirtualPortPrice](docs/VirtualPortPrice.md) diff --git a/api/swagger.yaml b/api/swagger.yaml index f3df887..e115335 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -16,7 +16,7 @@ info: license: name: Equinix Inc url: https://developer.equinix.com/agreement - version: "4.10" + version: "4.11" externalDocs: description: Find more information on Equinix Developer Portal url: https://developer.equinix.com @@ -85,8 +85,6 @@ paths: $ref: '#/components/examples/COLO2AlibabaSPwithDot1q' Colo2Sp-Aws-Primary: $ref: '#/components/examples/COLO2AWSSPwithDot1q-Primary' - Colo2Sp-Aws-Secondary: - $ref: '#/components/examples/COLO2AWSSPwithDot1q-Secondary' Colo2Sp-AzureDot1Q: $ref: '#/components/examples/COLO2AzureSPwithDot1q-Primary' Colo2Sp-AzureQinq: @@ -149,6 +147,8 @@ paths: $ref: '#/components/examples/AsideServiceToken2PrivateSP-NE' AsideServiceToken2ZsideServiceToken: $ref: '#/components/examples/AsideServiceToken2ZsideServiceToken' + Metal2Sp-Aws: + $ref: '#/components/examples/Metal2Sp-Aws' required: true responses: "201": @@ -180,6 +180,8 @@ paths: $ref: '#/components/examples/AsideServiceToken2PortResponseWithDot1q' ServiceToken2PortResponseQinQ: $ref: '#/components/examples/AsideServiceToken2PortResponseWithQinq' + Metal2Sp-Aws: + $ref: '#/components/examples/Metal2Sp-Aws-Response' "400": description: Bad request content: @@ -2730,6 +2732,86 @@ paths: examples: example: $ref: '#/components/examples/sp-500' + /fabric/v4/serviceProfiles/{serviceProfileId}/metros: + get: + tags: + - Service Profiles + summary: Get Profile Metros + description: Get service profile metros by UUID. + operationId: getServiceProfileMetrosByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ServiceProfileId' + - name: offset + in: query + description: offset + required: false + style: form + explode: true + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + style: form + explode: true + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: '#/components/schemas/ServiceMetros' + examples: + ServiceProfileMetros: + $ref: '#/components/examples/ServiceProfilesResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/sp-400' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/sp-401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/sp-403-read' + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/sp-500' /fabric/v4/serviceTokens/{serviceTokenId}: get: tags: @@ -3597,35 +3679,33 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorList' - /fabric/v4/routers: - post: + /fabric/v4/connections/{connectionId}/routeFilters: + get: tags: - - Cloud Routers - summary: Create Routers - description: This API provides capability to create user's Cloud Routers - operationId: createCloudRouter - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CloudRouterPostRequest' - examples: - CreateLabPackage: - $ref: '#/components/examples/CreateLabPackage' - CreateProPackage: - $ref: '#/components/examples/CreateProPackage' + - Route Filters + summary: Get All RouteFilters + description: This API provides capability to view all Route Filters attached + to a Connection + operationId: getConnectionRouteFilters + parameters: + - name: connectionId + in: path + description: Connection Id required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ConnectionId' responses: "200": - description: Fabric Cloud Router object + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/CloudRouter' + $ref: '#/components/schemas/GetAllConnectionRouteFiltersResponse' examples: - cloudRouterResponse: - $ref: '#/components/examples/CloudRouterPostResponseExample' + connectionRouteFiltersResponse: + $ref: '#/components/examples/ConnectionRouteFiltersGetAll' "400": description: Bad request content: @@ -3634,7 +3714,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_package' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -3653,6 +3733,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -3670,33 +3759,51 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/routers/{routerId}: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}: get: tags: - - Cloud Routers - summary: Get Routers - description: This API provides capability to retrieve user's Cloud Routers - operationId: getCloudRouterByUuid + - Route Filters + summary: Get Route Filter + description: This API provides capability to view a specific Route Filter attached + to a Connection + operationId: getConnectionRouteFilterByUuid parameters: - - name: routerId + - name: routeFilterId in: path - description: Cloud Router UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterId' + $ref: '#/components/schemas/RouteFilterId' + - name: connectionId + in: path + description: Connection Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ConnectionId' responses: "200": - description: Fabric Cloud Router object + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/CloudRouter' + $ref: '#/components/schemas/ConnectionRouteFilterData' examples: - cloudRouterResponse: - $ref: '#/components/examples/CloudRouterResponseExample' + connectionRouteFilterAttachResponse: + $ref: '#/components/examples/AttachConnectionRouteFiltersResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -3716,14 +3823,23 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' "500": description: Internal server error content: @@ -3732,25 +3848,51 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - delete: + $ref: '#/components/examples/500_internal_error' + put: tags: - - Cloud Routers - summary: Delete Routers - description: This API provides capability to delete user's Cloud Routers - operationId: deleteCloudRouterByUuid + - Route Filters + summary: Attach Route Filter + description: This API provides capability to attach a Route Filter to a Connection + operationId: attachConnectionRouteFilter parameters: - - name: routerId + - name: routeFilterId in: path - description: Cloud Router UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterId' + $ref: '#/components/schemas/RouteFilterId' + - name: connectionId + in: path + description: Connection Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ConnectionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionRouteFiltersBase' + examples: + ConnectionRouteFilterAttachInboundExample: + $ref: '#/components/examples/AttachConnectionRouteFilterInbound' + ConnectionRouteFilterAttachOutboundExample: + $ref: '#/components/examples/AttachConnectionRouteFilterOutbound' + required: true responses: - "204": - description: Deleted Cloud Router Successfully + "202": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionRouteFilterData' + examples: + connectionRouteFilterAttachResponse: + $ref: '#/components/examples/AttachConnectionRouteFiltersResponse' "400": description: Bad request content: @@ -3758,8 +3900,10 @@ paths: schema: $ref: '#/components/schemas/ErrorList' examples: - example: - $ref: '#/components/examples/400_invalid_state' + InvalidDirection: + $ref: '#/components/examples/400_invalid_direction' + TransientState: + $ref: '#/components/examples/400_transient_state' "401": description: Unauthorized content: @@ -3779,14 +3923,23 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' "500": description: Internal server error content: @@ -3795,45 +3948,42 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - patch: + $ref: '#/components/examples/500_internal_error' + delete: tags: - - Cloud Routers - summary: Update Routers - description: This API provides capability to update user's Cloud Routers - operationId: updateCloudRouterByUuid + - Route Filters + summary: Detach Route Filter + description: This API provides capability to detach a Route Filter from a Connection + operationId: detachConnectionRouteFilter parameters: - - name: routerId + - name: routeFilterId in: path - description: Cloud Router UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterId' - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/CloudRouterUpdateRequest' - examples: - UpdatePackage: - $ref: '#/components/examples/UpdatePackage' - UpdateName: - $ref: '#/components/examples/UpdateName' - UpdateNotificationEmail: - $ref: '#/components/examples/UpdateNotifications' + $ref: '#/components/schemas/RouteFilterId' + - name: connectionId + in: path + description: Connection Id required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ConnectionId' responses: - "200": - description: Fabric Cloud Router object + "202": + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/CloudRouter' + $ref: '#/components/schemas/ConnectionRouteFilterData' examples: - cloudRouterResponse: - $ref: '#/components/examples/CloudRouterPatchResponseExample' + connectionRouteFilterDetachInboundResponse: + $ref: '#/components/examples/DetachConnectionRouteFilterInboundResponse' + connectionRouteFilterDetachOutboundResponse: + $ref: '#/components/examples/DetachConnectionRouteFilterOutboundResponse' "400": description: Bad request content: @@ -3842,7 +3992,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_operation' + $ref: '#/components/examples/400_transient_state' "401": description: Unauthorized content: @@ -3862,14 +4012,14 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -3887,41 +4037,34 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/routers/{routerId}/actions: - get: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters: + post: tags: - - Cloud Routers - summary: Get actions - description: This API provides capability to fetch action status - operationId: getCloudRouterActions - parameters: - - name: routerId - in: path - description: Router UUID + - Route Filters + summary: Create Route Filters + description: This API provides capability to create a Route Filter + operationId: createRouteFilter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RouteFiltersBase' + examples: + RouteFilterBgpIpv4Prefix: + $ref: '#/components/examples/RouteFilterCreateBgpIpv4Prefix' required: true - style: simple - explode: false - schema: - $ref: '#/components/schemas/RouterId_1' - - name: state - in: query - description: Action state - required: false - style: form - explode: true - schema: - $ref: '#/components/schemas/ActionState' responses: - "200": + "202": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/CloudRouterActionResponse' + $ref: '#/components/schemas/RouteFiltersData' examples: - routerActionExample: - $ref: '#/components/examples/CloudRouterActionResponse' + getSpecificRouteFilterResponse: + $ref: '#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse' "400": description: Bad request content: @@ -3930,7 +4073,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_operation' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -3950,16 +4093,16 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' "415": - description: Internal server error + description: Unsupported Media Type content: application/json: schema: @@ -3975,42 +4118,33 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - post: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}: + get: tags: - - Cloud Routers - summary: Route table actions - description: This API provides capability to refresh route table and bgp session - summary information - operationId: createCloudRouterAction + - Route Filters + summary: Get Filter By UUID + description: This API provides capability to view a Route Filter by UUID + operationId: getRouteFilterByUuid parameters: - - name: routerId + - name: routeFilterId in: path - description: Router UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterId_1' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CloudRouterActionRequest' - examples: - RouteEntriesStatusUpdate: - $ref: '#/components/examples/RouteEntriesStatusUpdate' - required: true + $ref: '#/components/schemas/RouteFilterId' responses: - "202": + "200": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/CloudRouterActionResponse' + $ref: '#/components/schemas/RouteFiltersData' examples: - cloudRouterActionExample: - $ref: '#/components/examples/CloudRouterActionResponse' + getSpecificRouteFilterResponse: + $ref: '#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse' "400": description: Bad request content: @@ -4019,7 +4153,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_operation' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -4039,16 +4173,16 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' "415": - description: Internal server error + description: Unsupported Media Type content: application/json: schema: @@ -4064,49 +4198,41 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/routers/{routerId}/routes/search: - post: + $ref: '#/components/examples/500_internal_error' + put: tags: - - Cloud Routers - summary: Search Route Table - description: "The API provides capability to get list of user's Fabric Cloud\ - \ Router route table entries using search criteria, including optional filtering,\ - \ pagination and sorting" - operationId: searchCloudRouterRoutes + - Route Filters + summary: Replace Route Filter + description: This API provides capability to replace a Route Filter completely + operationId: replaceRouteFilterByUuid parameters: - - name: routerId + - name: routeFilterId in: path - description: Router UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterId_1' + $ref: '#/components/schemas/RouteFilterId' requestBody: content: application/json: schema: - $ref: '#/components/schemas/RouteTableEntrySearchRequest' + $ref: '#/components/schemas/RouteFiltersBase' examples: - SearchFilterByNextHop: - $ref: '#/components/examples/SearchFilterByNextHop' - SearchFilterByPrefix: - $ref: '#/components/examples/SearchFilterByPrefix' - SearchFilterByType: - $ref: '#/components/examples/SearchFilterByType' - SearchFilterByStatus: - $ref: '#/components/examples/SearchFilterByStatus' - SearchFilterOrAnd: - $ref: '#/components/examples/SearchFilterOrAnd' + RouteFilterIpv4ReplaceExample: + $ref: '#/components/examples/UpdateRouteFilterIPv4' required: true responses: - "200": + "202": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/RouteTableEntrySearchResponse' + $ref: '#/components/schemas/RouteFiltersData' + examples: + routeFilterIpv4ReplaceResponse: + $ref: '#/components/examples/RouteFilterIpv4ReplaceResponse' "400": description: Bad request content: @@ -4115,7 +4241,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_sorting' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -4135,16 +4261,16 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' "415": - description: Internal server error + description: Unsupported Media Type content: application/json: schema: @@ -4160,45 +4286,32 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/routers/{routerId}/validate: - post: + $ref: '#/components/examples/500_internal_error' + delete: tags: - - Routing Protocols - summary: Validate Subnet - description: This API provides capability to validate all subnets associated - with any connection in the given FCR - operationId: validateRoutingProtocol + - Route Filters + summary: Delete Route Filter + description: This API provides capability to delete a Route Filter + operationId: deleteRouteFilterByUuid parameters: - - name: routerId + - name: routeFilterId in: path - description: Cloud Router UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterId' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ValidateSubnetRequest' - examples: - ValidateDirectIpv4: - $ref: '#/components/examples/Request-direct-ipv4' - ValidateDirectIpv6: - $ref: '#/components/examples/Request-direct-ipv6' - required: true + $ref: '#/components/schemas/RouteFilterId' responses: - "200": + "202": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/ValidateSubnetResponse' + $ref: '#/components/schemas/RouteFiltersData' examples: - ValidateSubnet: - $ref: '#/components/examples/Response-200' + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: '#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse' "400": description: Bad request content: @@ -4206,42 +4319,87 @@ paths: schema: $ref: '#/components/schemas/ErrorList' examples: - Bad Request: - $ref: '#/components/examples/error-400' - Subnet Overlapping: - $ref: '#/components/examples/error-400-overlappingSubnet' - /fabric/v4/routers/search: - post: + example: + $ref: '#/components/examples/400_attached_connection' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + patch: tags: - - Cloud Routers - summary: Search Routers - description: "The API provides capability to get list of user's Cloud Routers\ - \ using search criteria, including optional filtering, pagination and sorting" - operationId: searchCloudRouters - parameters: [] + - Route Filters + summary: Patch Route Filter + description: This API provides capability to partially update a Route Filter + operationId: patchRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterId' requestBody: content: application/json: schema: - $ref: '#/components/schemas/CloudRouterSearchRequest' + $ref: '#/components/schemas/RouteFiltersPatchRequest' examples: - SearchFilterByStatus: - $ref: '#/components/examples/SearchFilterByStatus' - SearchFilterByNameAndMetroName: - $ref: '#/components/examples/SearchFilterByNameAndMetroName' - SearchFilterOrAnd: - $ref: '#/components/examples/SearchFilterOrAnd' + RouteFilterNamePatchExample: + $ref: '#/components/examples/PatchRouteFilterName' required: true responses: - "200": + "202": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/SearchResponse' + $ref: '#/components/schemas/RouteFiltersData' examples: - Example: - $ref: '#/components/examples/search-example' + RouteFilterNamePatchResponse: + $ref: '#/components/examples/RouteFilterNamePatchResponse' "400": description: Bad request content: @@ -4250,7 +4408,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_sorting' + $ref: '#/components/examples/400_invalid_operation' "401": description: Unauthorized content: @@ -4269,6 +4427,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -4286,15 +4453,24 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/routerPackages: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/changes: get: tags: - - Cloud Routers - summary: List Packages - description: This API provides capability to retrieve user's Cloud Routers Packages - operationId: getCloudRouterPackages + - Route Filters + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter's + Changes + operationId: getRouteFilterChanges parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterId' - name: offset in: query description: offset @@ -4315,14 +4491,23 @@ paths: example: 10 responses: "200": - description: Fabric Cloud Router Packages + description: Fabric Route Filter Change object content: application/json: schema: - $ref: '#/components/schemas/PackageResponse' + $ref: '#/components/schemas/RouteFilterChangeDataResponse' examples: - Example: - $ref: '#/components/examples/ListFCRPackagesResponse' + RouteFilterChangesResponse: + $ref: '#/components/examples/RouteFilterGetAllChangesResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_Invalid_id' "401": description: Unauthorized content: @@ -4341,15 +4526,15 @@ paths: examples: example: $ref: '#/components/examples/403' - "415": - description: Unsupported Media Type + "404": + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404_invalid_id' "500": description: Internal server error content: @@ -4358,31 +4543,42 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/routerPackages/{routerPackageCode}: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}: get: tags: - - Cloud Routers - summary: Get Package Details - description: This API provides capability to retrieve user's Cloud Routers Package - Details - operationId: getCloudRouterPackageByCode + - Route Filters + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter's + Changes + operationId: getRouteFilterChangeByUuid parameters: - - name: routerPackageCode + - name: routeFilterId in: path - description: Equinix-assigned Cloud Router package identifier + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/RouterPackageCode' - responses: + $ref: '#/components/schemas/RouteFilterId' + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ChangeId_1' + responses: "200": - description: Fabric Cloud Router Package details + description: Fabric Route Filter Change object content: application/json: schema: - $ref: '#/components/schemas/CloudRouterPackage' + $ref: '#/components/schemas/RouteFilterChangeData' + examples: + RouteFilterChangeResponse: + $ref: '#/components/examples/RouteFilterGetChangeResponseExample' "400": description: Bad request content: @@ -4391,7 +4587,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_package' + $ref: '#/components/examples/400_Invalid_id' "401": description: Unauthorized content: @@ -4410,15 +4606,15 @@ paths: examples: example: $ref: '#/components/examples/403' - "415": - description: Unsupported Media Type + "404": + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404_invalid_id' "500": description: Internal server error content: @@ -4427,129 +4623,34 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/health: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/connections: get: tags: - - Health - summary: Get service status - description: GET All service health statys with an option query parameter to - return all Equinix Fabric customer in which the customer has a presence. - operationId: getStatus - parameters: [] - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/HealthResponse' - examples: - metroExample: - $ref: '#/components/examples/healthResponse' - /fabric/v4/connections/validate: - post: - tags: - - Connections - summary: Validate Connection - description: This API provides capability to validate by auth key - operationId: validateConnections - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ValidateConnectionRequest' - examples: - Alibaba-ValidateAuthKey: - $ref: '#/components/examples/Request_Alibaba' - Aws-ValidateAuthKey: - $ref: '#/components/examples/Request_AWS' - Azure-ValidateAuthKey: - $ref: '#/components/examples/Request_Azure' - Google-ValidateAuthKey: - $ref: '#/components/examples/Request_Google' - IBM-1.0-ValidateAuthKey: - $ref: '#/components/examples/Request_IBM_1' - IBM-2.0-ValidateAuthKey: - $ref: '#/components/examples/Request_IBM_2' - Oracle-ValidateAuthKey: - $ref: '#/components/examples/Request_Oracle' - Dot1q-ValidateVlanAvailability: - $ref: '#/components/examples/Dot1q_Vlan' - Qinq-ValidateVlanAvailability: - $ref: '#/components/examples/Qinq_Vlan' + - Route Filters + summary: Get Connections + description: This API provides capability to view all Connections using the + Route Filter + operationId: getRouteFilterConnections + parameters: + - name: routeFilterId + in: path + description: Route Filters Id required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterId' responses: "200": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/ConnectionResponse' - examples: - Alibaba-ValidateAuthKey: - $ref: '#/components/examples/Response-Alibaba' - Aws-ValidateAuthKey: - $ref: '#/components/examples/Response-Aws' - Azure-ValidateAuthKey-no-existing-connections: - $ref: '#/components/examples/Response-Azure-no-existing-connections' - Azure-ValidateAuthKey-1-existing-Dot1q-connection: - $ref: '#/components/examples/Response-Azure-1-existing-Dot1q-connection' - Azure-ValidateAuthKey-1-existing-Qinq-connection: - $ref: '#/components/examples/Response-Azure-1-existing-Qinq-connection' - Azure-ValidateAuthKey-2-existing-Dot1q-connection: - $ref: '#/components/examples/Response-Azure-2-existing-Dot1q-connections' - Google-ValidateAuthKey: - $ref: '#/components/examples/Response-Google' - IBM-1.0-ValidateAuthKey: - $ref: '#/components/examples/Response-IBM-1' - IBM-2.0-ValidateAuthKey: - $ref: '#/components/examples/Response-IBM-2' - Oracle-ValidateAuthKey: - $ref: '#/components/examples/Response-Oracle' - Dot1q-ValidateAuthKey: - $ref: '#/components/examples/Response-Dot1q-Vlan' - Qinq-ValidateAuthKey: - $ref: '#/components/examples/Response-Qinq-Vlan' - "400": - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - Bad Request: - $ref: '#/components/examples/error-400' - /fabric/v4/networks: - post: - tags: - - Networks - summary: Create Network - description: This API provides capability to create user's Fabric Network - operationId: createNetwork - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkPostRequest' - examples: - CreateGlobalNetwork: - $ref: '#/components/examples/CreateGlobalNetwork' - CreateRegionalNetwork: - $ref: '#/components/examples/CreateRegionalNetwork' - required: true - responses: - "202": - description: Fabric Network Access point object - content: - application/json: - schema: - $ref: '#/components/schemas/Network' + $ref: '#/components/schemas/GetRouteFilterGetConnectionsResponse' examples: - networkResponse: - $ref: '#/components/examples/NetworkPostResponseExample' + routeFilterGetConnectionsResponse: + $ref: '#/components/examples/RouteFilterGetConnectionsResponse' "400": description: Bad request content: @@ -4558,7 +4659,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -4577,6 +4678,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -4594,33 +4704,58 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - /fabric/v4/networks/{networkId}: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules: get: tags: - - Networks - summary: Get Network By ID - description: This API provides capability to retrieve user's Fabric Network - operationId: getNetworkByUuid + - Route Filter Rules + summary: GetRFRules + description: This API provides capability to get all Route Filters Rules for + Fabric + operationId: getRouteFilterRules parameters: - - name: networkId + - name: routeFilterId in: path - description: Network UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' + - name: offset + in: query + description: offset + required: false + style: form + explode: true + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + style: form + explode: true + schema: + type: integer + example: 10 responses: "200": - description: Fabric Network Access point object + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/Network' + $ref: '#/components/schemas/GetRouteFilterRulesResponse' examples: - networkResponse: - $ref: '#/components/examples/NetworkGetResponseExample' + getAllRouteFilters: + $ref: '#/components/examples/RouteFilterRulesGetAll' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' "401": description: Unauthorized content: @@ -4640,39 +4775,54 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + "500": + description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' - delete: + $ref: '#/components/examples/500_internal_error' + post: tags: - - Networks - summary: Delete Network By ID - description: This API provides capability to delete user's Fabric Network - operationId: deleteNetworkByUuid + - Route Filter Rules + summary: Create RFRule + description: This API provides capability to create a Route Filter Rule + operationId: createRouteFilterRule parameters: - - name: networkId + - name: routeFilterId in: path - description: Network UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RouteFilterRulesBase' + examples: + RouteFilterRuleBgpIpv4Prefix: + $ref: '#/components/examples/RouteFilterRuleCreateBgpIpv4Prefix' + required: true responses: "202": - description: Fabric Network Access point object + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/Network' + $ref: '#/components/schemas/RouteFilterRulesData' examples: - networkResponse: - $ref: '#/components/examples/NetworkDeleteResponseExample' + getSpecificRouteFilterRuleResponse: + $ref: '#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse' "400": description: Bad request content: @@ -4681,7 +4831,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_state' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -4701,50 +4851,63 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + "415": + description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' - patch: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}: + get: tags: - - Networks - summary: Update Network By ID - description: This API provides capability to update user's Fabric Network - operationId: updateNetworkByUuid + - Route Filter Rules + summary: GetRFRule By UUID + description: This API provides capability to view a Route Filter Rule by UUID + operationId: getRouteFilterRuleByUuid parameters: - - name: networkId + - name: routeFilterId in: path - description: Network UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/NetworkId' - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/NetworkUpdateRequest' - examples: - UpdateName: - $ref: '#/components/examples/UpdateNetworkName' - UpdateNotificationEmail: - $ref: '#/components/examples/UpdateNetworkNotifications' + $ref: '#/components/schemas/RouteFilterId' + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id required: true - responses: - "200": - description: Fabric Network Access point object + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterRuleId' + responses: + "202": + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/Network' + $ref: '#/components/schemas/RouteFilterRulesData' examples: - networkResponse: - $ref: '#/components/examples/NetworkPatchResponseExample' + getSpecificRouteFilterRuleResponse: + $ref: '#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse' "400": description: Bad request content: @@ -4753,7 +4916,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_state' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -4773,14 +4936,14 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -4790,36 +4953,57 @@ paths: examples: example: $ref: '#/components/examples/415' - /fabric/v4/networks/search: - post: + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + put: tags: - - Networks - summary: Search Network - description: "The API provides capability to get list of user's Fabric Network\ - \ using search criteria, including optional filtering, pagination and sorting" - operationId: searchNetworks - parameters: [] + - Route Filter Rules + summary: ReplaceRFRule + description: This API provides capability to replace a Route Filter Rule completely + operationId: replaceRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterId' + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterRuleId' requestBody: content: application/json: schema: - $ref: '#/components/schemas/NetworkSearchRequest' + $ref: '#/components/schemas/RouteFilterRulesBase' examples: - SearchFilterByStatus: - $ref: '#/components/examples/SearchFilterByStatus' - SearchFilterOrAnd: - $ref: '#/components/examples/SearchFilterOrAnd' + RouteFilterIpv4ReplaceExample: + $ref: '#/components/examples/UpdateRouteFilterRuleIPv4' required: true responses: - "200": - description: Fabric Network Access point object + "202": + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/NetworkSearchResponse' + $ref: '#/components/schemas/RouteFilterRulesData' examples: - networkResponse: - $ref: '#/components/examples/NetworkSearchResponseExample' + routeFilterRuleIpv4ReplaceResponse: + $ref: '#/components/examples/RouteFilterRuleIpv4ReplaceResponse' "400": description: Bad request content: @@ -4828,7 +5012,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_sorting' + $ref: '#/components/examples/400_route_filters' "401": description: Unauthorized content: @@ -4847,6 +5031,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -4856,33 +5049,48 @@ paths: examples: example: $ref: '#/components/examples/415' - /fabric/v4/networks/{networkId}/connections: - get: + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + delete: tags: - - Networks - summary: Get Connections - description: The API provides capability to get list of user's Fabric Network - connections - operationId: getConnectionsByNetworkUuid + - Route Filter Rules + summary: DeleteRFRule + description: This API provides capability to delete a Route Filter Rule + operationId: deleteRouteFilterRuleByUuid parameters: - - name: networkId + - name: routeFilterId in: path - description: Network UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterRuleId' responses: - "200": - description: Fabric Network Access point object + "202": + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/NetworkConnections' + $ref: '#/components/schemas/RouteFilterRulesData' examples: - networkResponse: - $ref: '#/components/examples/GetNetworkConnectionExample' + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: '#/components/examples/RouteFilterRuleDeleteBgpIpv4PrefixResponse' "400": description: Bad request content: @@ -4891,7 +5099,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_uuid' + $ref: '#/components/examples/400_transient_filter' "401": description: Unauthorized content: @@ -4910,6 +5118,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -4919,33 +5136,58 @@ paths: examples: example: $ref: '#/components/examples/415' - /fabric/v4/networks/{networkId}/changes: - get: + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + patch: tags: - - Networks - summary: Get Network Changes - description: The API provides capability to get list of user's Fabric Network - changes - operationId: getNetworkChanges + - Route Filter Rules + summary: PatchRFilterRule + description: This API provides capability to partially update a Route Filter + Rule + operationId: patchRouteFilterRuleByUuid parameters: - - name: networkId + - name: routeFilterId in: path - description: Network UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterRuleId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RouteFilterRulesPatchRequest' + examples: + RouteFilterRuleNamePatchExample: + $ref: '#/components/examples/PatchRouteFilterRulePrefixMatch' + required: true responses: - "200": - description: Fabric Network Access point object + "202": + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/NetworkChangeResponse' + $ref: '#/components/schemas/RouteFiltersData' examples: - networkResponse: - $ref: '#/components/examples/NetworkChangeResponseExample' + RouteFilterNamePatchResponse: + $ref: '#/components/examples/RouteFilterNamePatchResponse' "400": description: Bad request content: @@ -4954,7 +5196,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_uuid' + $ref: '#/components/examples/400_invalid_operation' "401": description: Unauthorized content: @@ -4973,6 +5215,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404_invalid_id' "415": description: Unsupported Media Type content: @@ -4982,41 +5233,68 @@ paths: examples: example: $ref: '#/components/examples/415' - /fabric/v4/networks/{networkId}/changes/{changeId}: + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes: get: tags: - - Networks - summary: Get Change By ID - description: This API provides capability to retrieve user's Fabric Network - Change - operationId: getNetworkChangeByUuid + - Route Filter Rules + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter + Rule's Changes + operationId: getRouteFilterRuleChanges parameters: - - name: networkId + - name: routeFilterId in: path - description: Network UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/NetworkId' - - name: changeId + $ref: '#/components/schemas/RouteFilterId' + - name: routeFilterRuleId in: path - description: Network Change UUID + description: Route Filter Rules Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/ChangeId_1' + $ref: '#/components/schemas/RouteFilterRuleId' + - name: offset + in: query + description: offset + required: false + style: form + explode: true + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + style: form + explode: true + schema: + type: integer + example: 10 responses: "200": - description: Fabric Network Access point object + description: Fabric Route Filter Rule Change object content: application/json: schema: - $ref: '#/components/schemas/NetworkChange' + $ref: '#/components/schemas/RouteFilterRulesChangeDataResponse' examples: - networkResponse: - $ref: '#/components/examples/NetworkGetChangeResponseExample' + RouteFilterRuleChangesResponse: + $ref: '#/components/examples/RouteFilterRulesGetAllChangesResponseExample' "400": description: Bad request content: @@ -5025,7 +5303,7 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/400_invalid_uuid' + $ref: '#/components/examples/400_Invalid_id' "401": description: Unauthorized content: @@ -5045,40 +5323,66 @@ paths: example: $ref: '#/components/examples/403' "404": - description: Not Found + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/404' - /fabric/v4/timeServices/{serviceId}: + $ref: '#/components/examples/404_invalid_id' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}: get: tags: - - Precision Time - summary: Get Time Service - description: The API provides capability to get precision timing service's details - operationId: getTimeServicesById + - Route Filter Rules + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter + Rule's Changes + operationId: getRouteFilterRuleChangeByUuid parameters: - - name: serviceId + - name: routeFilterId in: path - description: Service UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouteFilterId' + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouteFilterRuleId' + - name: changeId + in: path + description: Route Filter Rule Change UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ChangeId_2' responses: "200": - description: Successful operation + description: Fabric Route Filter Change object content: application/json: schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + $ref: '#/components/schemas/RouteFilterRulesChangeData' examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + RouteFilterChangeResponse: + $ref: '#/components/examples/RouteFilterRuleGetChangeResponseExample' "400": description: Bad request content: @@ -5086,94 +5390,8 @@ paths: schema: $ref: '#/components/schemas/ErrorList' examples: - MandatoryName: - $ref: '#/components/examples/400-Mandatory-Name' - InvalidName: - $ref: '#/components/examples/400-Invalid-Name' - ValidateName: - $ref: '#/components/examples/400-Validate-Name' - DuplicateName: - $ref: '#/components/examples/400-Duplicate-Name' - MandatoryConnectionUuid: - $ref: '#/components/examples/400-Mandatory-ConnectionUUid' - InvalidConnectionUuidFormat: - $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' - InvalidConnectionStatus: - $ref: '#/components/examples/400-Invalid-Connection-Status' - ValidateConnectionUuid: - $ref: '#/components/examples/400-Validate-ConnectionUuid' - InvalidConnectionLocation: - $ref: '#/components/examples/400-Invalid-Connection-Location' - MandatoryPackageType: - $ref: '#/components/examples/400-Mandatory-PackageType' - InvalidPackageType: - $ref: '#/components/examples/400-Invalid-PackageType' - InvalidConnectionPackageType: - $ref: '#/components/examples/400-Invalid-Connection-PackageType' - MandatoryPackage: - $ref: '#/components/examples/400-Mandatory-Package' - InvalidPackage: - $ref: '#/components/examples/400-Invalid-Package' - InvalidConnectionPackage: - $ref: '#/components/examples/400-Invalid-Connection-Package' - MandatoryPrimaryIP: - $ref: '#/components/examples/400-Mandatory-PrimaryIP' - InvalidPrimaryIPFormat: - $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' - ValidatePrimaryIP: - $ref: '#/components/examples/400-Validate-PrimaryIP' - MandatorySecondaryIP: - $ref: '#/components/examples/400-Mandatory-SecondaryIP' - InvalidSecondaryIPFormat: - $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' - ValidateSecondaryIP: - $ref: '#/components/examples/400-Validate-SecondaryIP' - ValidateSameSubnet: - $ref: '#/components/examples/400-Validate-SameSubnet' - MandatoryNetworkMask: - $ref: '#/components/examples/400-Mandatory-NetworkMask' - InvalidNetworkMaskFormat: - $ref: '#/components/examples/400-Invalid-NetworkMask-Format' - ValidateNetworkMask: - $ref: '#/components/examples/400-Validate-NetworkMask' - InvalidDefaultGatewayFormat: - $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' - ValidateDefaultGateway: - $ref: '#/components/examples/400-Validate-DefaultGateway' - InvalidTimeScale: - $ref: '#/components/examples/400-Invalid-TimeScale' - InvalidDomain: - $ref: '#/components/examples/400-Invalid-Domain' - InvalidPriority1: - $ref: '#/components/examples/400-Invalid-Priority1' - InvalidPriority2: - $ref: '#/components/examples/400-Invalid-Priority2' - InvalidLogAnnounceInterval: - $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' - ValidateLogAnnounceIntervalRange: - $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' - InvalidLogSyncInterval: - $ref: '#/components/examples/400-Invalid-LogSyncInterval' - ValidateLogSyncIntervalRange: - $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' - InvalidLogDelayReqInterval: - $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' - ValidateLogDelayReqIntervalRange: - $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' - InvalidTransportMode: - $ref: '#/components/examples/400-Invalid-TransportMode' - InvalidGrantTime: - $ref: '#/components/examples/400-Invalid-GrantTime' - ValidateGrantTimeRange: - $ref: '#/components/examples/400-Validate-GrantTime-Range' - InvalidType: - $ref: '#/components/examples/400-Invalid-Type' - InvalidId: - $ref: '#/components/examples/400-Invalid-Id' - InvalidPassword: - $ref: '#/components/examples/400-Invalid-Password' - ValidatePassword: - $ref: '#/components/examples/400-Validate-Password' + example: + $ref: '#/components/examples/400_Invalid_id' "401": description: Unauthorized content: @@ -5192,15 +5410,15 @@ paths: examples: example: $ref: '#/components/examples/403' - "415": - description: Unsupported Media Type + "404": + description: Route Filter ID Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404_invalid_id' "500": description: Internal server error content: @@ -5209,32 +5427,77 @@ paths: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/500' - delete: + $ref: '#/components/examples/500_internal_error' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk: + post: tags: - - Precision Time - summary: Delete Time Service - description: Delete EPT service by it's uuid - operationId: deleteTimeServiceById + - Route Filter Rules + summary: Bulk RFRules + description: This API provides capability to create bulk route filter rules + operationId: createRouteFilterRulesInBulk parameters: - - name: serviceId + - name: routeFilterId in: path - description: Service UUID + description: Route Filters Id required: true style: simple explode: false schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouteFilterId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RouteFilterRulesPostRequest' + required: true responses: - "204": + "202": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + $ref: '#/components/schemas/GetRouteFilterRulesResponse' examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + getAllRouteFilters: + $ref: '#/components/examples/RouteFilterRulesGetAll' + /fabric/v4/routers: + post: + tags: + - Cloud Routers + summary: Create Routers + description: This API provides capability to create user's Cloud Routers + operationId: createCloudRouter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterPostRequest' + examples: + CreateLabPackage: + $ref: '#/components/examples/CreateLabPackage' + CreateProPackage: + $ref: '#/components/examples/CreateStandardPackage' + required: true + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouter' + examples: + cloudRouterResponse: + $ref: '#/components/examples/CloudRouterPostResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_package' "401": description: Unauthorized content: @@ -5271,43 +5534,86 @@ paths: examples: example: $ref: '#/components/examples/500' - patch: + /fabric/v4/routers/{routerId}: + get: tags: - - Precision Time - summary: Patch Time Service - description: The API provides capability to update timing service - operationId: updateTimeServicesById + - Cloud Routers + summary: Get Routers + description: This API provides capability to retrieve user's Cloud Routers + operationId: getCloudRouterByUuid parameters: - - name: serviceId + - name: routerId in: path - description: Service UUID + description: Cloud Router UUID required: true style: simple explode: false schema: - $ref: '#/components/schemas/ServiceId' - requestBody: - content: - application/json-patch+json: - schema: - minItems: 1 - type: array - items: - $ref: '#/components/schemas/precisionTimeChangeOperation' - examples: - editName: - $ref: '#/components/examples/edit' - required: true + $ref: '#/components/schemas/RouterId' responses: "200": - description: Successful operation + description: Fabric Cloud Router object content: application/json: schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + $ref: '#/components/schemas/CloudRouter' examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + cloudRouterResponse: + $ref: '#/components/examples/CloudRouterResponseExample' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + delete: + tags: + - Cloud Routers + summary: Delete Routers + description: This API provides capability to delete user's Cloud Routers + operationId: deleteCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouterId' + responses: + "204": + description: Deleted Cloud Router Successfully "400": description: Bad request content: @@ -5315,94 +5621,8 @@ paths: schema: $ref: '#/components/schemas/ErrorList' examples: - MandatoryName: - $ref: '#/components/examples/400-Mandatory-Name' - InvalidName: - $ref: '#/components/examples/400-Invalid-Name' - ValidateName: - $ref: '#/components/examples/400-Validate-Name' - DuplicateName: - $ref: '#/components/examples/400-Duplicate-Name' - MandatoryConnectionUuid: - $ref: '#/components/examples/400-Mandatory-ConnectionUUid' - InvalidConnectionUuidFormat: - $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' - InvalidConnectionStatus: - $ref: '#/components/examples/400-Invalid-Connection-Status' - ValidateConnectionUuid: - $ref: '#/components/examples/400-Validate-ConnectionUuid' - InvalidConnectionLocation: - $ref: '#/components/examples/400-Invalid-Connection-Location' - MandatoryPackageType: - $ref: '#/components/examples/400-Mandatory-PackageType' - InvalidPackageType: - $ref: '#/components/examples/400-Invalid-PackageType' - InvalidConnectionPackageType: - $ref: '#/components/examples/400-Invalid-Connection-PackageType' - MandatoryPackage: - $ref: '#/components/examples/400-Mandatory-Package' - InvalidPackage: - $ref: '#/components/examples/400-Invalid-Package' - InvalidConnectionPackage: - $ref: '#/components/examples/400-Invalid-Connection-Package' - MandatoryPrimaryIP: - $ref: '#/components/examples/400-Mandatory-PrimaryIP' - InvalidPrimaryIPFormat: - $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' - ValidatePrimaryIP: - $ref: '#/components/examples/400-Validate-PrimaryIP' - MandatorySecondaryIP: - $ref: '#/components/examples/400-Mandatory-SecondaryIP' - InvalidSecondaryIPFormat: - $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' - ValidateSecondaryIP: - $ref: '#/components/examples/400-Validate-SecondaryIP' - ValidateSameSubnet: - $ref: '#/components/examples/400-Validate-SameSubnet' - MandatoryNetworkMask: - $ref: '#/components/examples/400-Mandatory-NetworkMask' - InvalidNetworkMaskFormat: - $ref: '#/components/examples/400-Invalid-NetworkMask-Format' - ValidateNetworkMask: - $ref: '#/components/examples/400-Validate-NetworkMask' - InvalidDefaultGatewayFormat: - $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' - ValidateDefaultGateway: - $ref: '#/components/examples/400-Validate-DefaultGateway' - InvalidTimeScale: - $ref: '#/components/examples/400-Invalid-TimeScale' - InvalidDomain: - $ref: '#/components/examples/400-Invalid-Domain' - InvalidPriority1: - $ref: '#/components/examples/400-Invalid-Priority1' - InvalidPriority2: - $ref: '#/components/examples/400-Invalid-Priority2' - InvalidLogAnnounceInterval: - $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' - ValidateLogAnnounceIntervalRange: - $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' - InvalidLogSyncInterval: - $ref: '#/components/examples/400-Invalid-LogSyncInterval' - ValidateLogSyncIntervalRange: - $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' - InvalidLogDelayReqInterval: - $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' - ValidateLogDelayReqIntervalRange: - $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' - InvalidTransportMode: - $ref: '#/components/examples/400-Invalid-TransportMode' - InvalidGrantTime: - $ref: '#/components/examples/400-Invalid-GrantTime' - ValidateGrantTimeRange: - $ref: '#/components/examples/400-Validate-GrantTime-Range' - InvalidType: - $ref: '#/components/examples/400-Invalid-Type' - InvalidId: - $ref: '#/components/examples/400-Invalid-Id' - InvalidPassword: - $ref: '#/components/examples/400-Invalid-Password' - ValidatePassword: - $ref: '#/components/examples/400-Validate-Password' + example: + $ref: '#/components/examples/400_invalid_state' "401": description: Unauthorized content: @@ -5421,15 +5641,15 @@ paths: examples: example: $ref: '#/components/examples/403' - "415": - description: Unsupported Media Type + "404": + description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404' "500": description: Internal server error content: @@ -5439,37 +5659,44 @@ paths: examples: example: $ref: '#/components/examples/500' - /fabric/v4/timeServices: - post: + patch: tags: - - Precision Time - summary: Create Time Service - description: The API provides capability to create timing service - operationId: createTimeServices - parameters: [] + - Cloud Routers + summary: Update Routers + description: This API provides capability to update user's Cloud Routers + operationId: updateCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouterId' requestBody: content: - application/json: + application/json-patch+json: schema: - $ref: '#/components/schemas/precisionTimeServiceRequest' + $ref: '#/components/schemas/CloudRouterUpdateRequest' examples: - ntpSingleStandard: - $ref: '#/components/examples/ntpSingleStandard' - ptpSingleStandard: - $ref: '#/components/examples/ptpSingleStandard' - ptpSingleEnterpriseWithAdvanceConfiguration: - $ref: '#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration' + UpdatePackage: + $ref: '#/components/examples/UpdatePackage' + UpdateName: + $ref: '#/components/examples/UpdateName' + UpdateNotificationEmail: + $ref: '#/components/examples/UpdateNotifications' required: true responses: - "202": - description: Successful operation + "200": + description: Fabric Cloud Router object content: application/json: schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + $ref: '#/components/schemas/CloudRouter' examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + cloudRouterResponse: + $ref: '#/components/examples/CloudRouterPatchResponseExample' "400": description: Bad request content: @@ -5477,94 +5704,8 @@ paths: schema: $ref: '#/components/schemas/ErrorList' examples: - MandatoryName: - $ref: '#/components/examples/400-Mandatory-Name' - InvalidName: - $ref: '#/components/examples/400-Invalid-Name' - ValidateName: - $ref: '#/components/examples/400-Validate-Name' - DuplicateName: - $ref: '#/components/examples/400-Duplicate-Name' - MandatoryConnectionUuid: - $ref: '#/components/examples/400-Mandatory-ConnectionUUid' - InvalidConnectionUuidFormat: - $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' - InvalidConnectionStatus: - $ref: '#/components/examples/400-Invalid-Connection-Status' - ValidateConnectionUuid: - $ref: '#/components/examples/400-Validate-ConnectionUuid' - InvalidConnectionLocation: - $ref: '#/components/examples/400-Invalid-Connection-Location' - MandatoryPackageType: - $ref: '#/components/examples/400-Mandatory-PackageType' - InvalidPackageType: - $ref: '#/components/examples/400-Invalid-PackageType' - InvalidConnectionPackageType: - $ref: '#/components/examples/400-Invalid-Connection-PackageType' - MandatoryPackage: - $ref: '#/components/examples/400-Mandatory-Package' - InvalidPackage: - $ref: '#/components/examples/400-Invalid-Package' - InvalidConnectionPackage: - $ref: '#/components/examples/400-Invalid-Connection-Package' - MandatoryPrimaryIP: - $ref: '#/components/examples/400-Mandatory-PrimaryIP' - InvalidPrimaryIPFormat: - $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' - ValidatePrimaryIP: - $ref: '#/components/examples/400-Validate-PrimaryIP' - MandatorySecondaryIP: - $ref: '#/components/examples/400-Mandatory-SecondaryIP' - InvalidSecondaryIPFormat: - $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' - ValidateSecondaryIP: - $ref: '#/components/examples/400-Validate-SecondaryIP' - ValidateSameSubnet: - $ref: '#/components/examples/400-Validate-SameSubnet' - MandatoryNetworkMask: - $ref: '#/components/examples/400-Mandatory-NetworkMask' - InvalidNetworkMaskFormat: - $ref: '#/components/examples/400-Invalid-NetworkMask-Format' - ValidateNetworkMask: - $ref: '#/components/examples/400-Validate-NetworkMask' - InvalidDefaultGatewayFormat: - $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' - ValidateDefaultGateway: - $ref: '#/components/examples/400-Validate-DefaultGateway' - InvalidTimeScale: - $ref: '#/components/examples/400-Invalid-TimeScale' - InvalidDomain: - $ref: '#/components/examples/400-Invalid-Domain' - InvalidPriority1: - $ref: '#/components/examples/400-Invalid-Priority1' - InvalidPriority2: - $ref: '#/components/examples/400-Invalid-Priority2' - InvalidLogAnnounceInterval: - $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' - ValidateLogAnnounceIntervalRange: - $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' - InvalidLogSyncInterval: - $ref: '#/components/examples/400-Invalid-LogSyncInterval' - ValidateLogSyncIntervalRange: - $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' - InvalidLogDelayReqInterval: - $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' - ValidateLogDelayReqIntervalRange: - $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' - InvalidTransportMode: - $ref: '#/components/examples/400-Invalid-TransportMode' - InvalidGrantTime: - $ref: '#/components/examples/400-Invalid-GrantTime' - ValidateGrantTimeRange: - $ref: '#/components/examples/400-Validate-GrantTime-Range' - InvalidType: - $ref: '#/components/examples/400-Invalid-Type' - InvalidId: - $ref: '#/components/examples/400-Invalid-Id' - InvalidPassword: - $ref: '#/components/examples/400-Invalid-Password' - ValidatePassword: - $ref: '#/components/examples/400-Validate-Password' + example: + $ref: '#/components/examples/400_invalid_operation' "401": description: Unauthorized content: @@ -5583,6 +5724,15 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' "415": description: Unsupported Media Type content: @@ -5601,32 +5751,49 @@ paths: examples: example: $ref: '#/components/examples/500' - /fabric/v4/timeServices/{serviceId}/connections: + /fabric/v4/routers/{routerId}/actions: get: tags: - - Precision Time - summary: Get all Connections - description: The API provides capability to get prevision timing service's details - operationId: getTimeServicesConnectionsByServiceId + - Cloud Routers + summary: Get actions + description: This API provides capability to fetch action status + operationId: getCloudRouterActions parameters: - - name: serviceId + - name: routerId in: path - description: Service UUID + description: Router UUID required: true style: simple explode: false schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouterId_1' + - name: state + in: query + description: Action state + required: false + style: form + explode: true + schema: + $ref: '#/components/schemas/ActionState' responses: "200": - description: Return Time Service Connection + description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/precisionTimeServiceConnectionsResponse' + $ref: '#/components/schemas/CloudRouterActionResponse' + examples: + routerActionExample: + $ref: '#/components/examples/CloudRouterActionResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/serviceConnectionsResponse' + $ref: '#/components/examples/400_invalid_operation' "401": description: Unauthorized content: @@ -5645,8 +5812,17 @@ paths: examples: example: $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' "415": - description: Unsupported Media Type + description: Internal server error content: application/json: schema: @@ -5663,26 +5839,79 @@ paths: examples: example: $ref: '#/components/examples/500' - /fabric/v4/timeServicePackages: - get: + post: tags: - - Precision Time - summary: Get Packages - description: The API provides capability to get timing service's packages - operationId: getTimeServicesPackages - parameters: [] + - Cloud Routers + summary: Route table actions + description: This API provides capability to refresh route table and bgp session + summary information + operationId: createCloudRouterAction + parameters: + - name: routerId + in: path + description: Router UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouterId_1' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterActionRequest' + examples: + RouteEntriesStatusUpdate: + $ref: '#/components/examples/RouteEntriesStatusUpdate' + required: true responses: - "200": + "202": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/precisionTimeServicePackagesResponse' + $ref: '#/components/schemas/CloudRouterActionResponse' + examples: + cloudRouterActionExample: + $ref: '#/components/examples/CloudRouterActionResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/servicePackagesResponse' + $ref: '#/components/examples/400_invalid_operation' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' "415": - description: Unsupported Media Type + description: Internal server error content: application/json: schema: @@ -5699,40 +5928,86 @@ paths: examples: example: $ref: '#/components/examples/500' - /fabric/v4/timeServicePackages/{packageCode}: - get: + /fabric/v4/routers/{routerId}/routes/search: + post: tags: - - Precision Time - summary: Get Package by Code - description: The API provides capability to get timing service's package by - code - operationId: getTimeServicesPackageByCode + - Cloud Routers + summary: Search Route Table + description: "The API provides capability to get list of user's Fabric Cloud\ + \ Router route table entries using search criteria, including optional filtering,\ + \ pagination and sorting" + operationId: searchCloudRouterRoutes parameters: - - name: packageCode + - name: routerId in: path - description: Package Code + description: Router UUID required: true style: simple explode: false schema: - type: string - enum: - - NTP_STANDARD - - NTP_ENTERPRISE - - PTP_STANDARD - - PTP_ENTERPRISE + $ref: '#/components/schemas/RouterId_1' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RouteTableEntrySearchRequest' + examples: + SearchFilterByNextHop: + $ref: '#/components/examples/SearchFilterByNextHop' + SearchFilterByPrefix: + $ref: '#/components/examples/SearchFilterByPrefix' + SearchFilterByType: + $ref: '#/components/examples/SearchFilterByType' + SearchFilterByStatus: + $ref: '#/components/examples/SearchFilterByStatus' + SearchFilterOrAnd: + $ref: '#/components/examples/SearchFilterOrAnd' + required: true responses: "200": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/PackageResponse' + $ref: '#/components/schemas/RouteTableEntrySearchResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' examples: example: - $ref: '#/components/examples/servicePackageResponse' + $ref: '#/components/examples/400_invalid_sorting' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' "415": - description: Unsupported Media Type + description: Internal server error content: application/json: schema: @@ -5749,112 +6024,1700 @@ paths: examples: example: $ref: '#/components/examples/500' -components: - schemas: - ConnectionPostRequest: - type: object - properties: - type: - $ref: '#/components/schemas/ConnectionType' - name: - type: string - description: Customer-provided connection name - order: - $ref: '#/components/schemas/Order' - notifications: - type: array - description: Preferences for notifications on connection configuration or - status changes - items: - $ref: '#/components/schemas/SimplifiedNotification' - bandwidth: - maximum: 50000 - minimum: 0 - type: integer - description: Connection bandwidth in Mbps - geoScope: - $ref: '#/components/schemas/GeoScopeType' - redundancy: - $ref: '#/components/schemas/ConnectionRedundancy' - aSide: - $ref: '#/components/schemas/ConnectionSide' - zSide: - $ref: '#/components/schemas/ConnectionSide' - project: - $ref: '#/components/schemas/Project' - additionalInfo: - type: array - description: Connection additional information - items: - $ref: '#/components/schemas/ConnectionSideAdditionalInfo' - description: Create connection post request - Connection: - required: - - aSide - - bandwidth - - name - - type - - zSide - type: object - properties: - type: - $ref: '#/components/schemas/ConnectionType' - href: - type: string - description: Connection URI - format: uri - readOnly: true - uuid: - type: string - description: Equinix-assigned connection identifier - name: - type: string - description: Customer-provided connection name - description: - type: string - description: Customer-provided connection description - state: - $ref: '#/components/schemas/ConnectionState' - change: - $ref: '#/components/schemas/Change' - operation: - $ref: '#/components/schemas/ConnectionOperation' - order: - $ref: '#/components/schemas/Order' - notifications: - type: array - description: Preferences for notifications on connection configuration or - status changes - items: - $ref: '#/components/schemas/SimplifiedNotification' - account: - $ref: '#/components/schemas/SimplifiedAccount' - changeLog: - $ref: '#/components/schemas/Changelog' - bandwidth: - maximum: 10000 - minimum: 0 - type: integer - description: Connection bandwidth in Mbps - geoScope: - $ref: '#/components/schemas/GeoScopeType' - redundancy: - $ref: '#/components/schemas/ConnectionRedundancy' - isRemote: - type: boolean - description: Connection property derived from access point locations - direction: - $ref: '#/components/schemas/ConnectionDirection' - aSide: - $ref: '#/components/schemas/ConnectionSide' - zSide: - $ref: '#/components/schemas/ConnectionSide' - additionalInfo: - type: array - description: Connection additional information - items: - $ref: '#/components/schemas/ConnectionSideAdditionalInfo' - project: + /fabric/v4/routers/{routerId}/validate: + post: + tags: + - Routing Protocols + summary: Validate Subnet + description: This API provides capability to validate all subnets associated + with any connection in the given FCR + operationId: validateRoutingProtocol + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouterId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateRequest' + examples: + ValidateDirectIpv4: + $ref: '#/components/examples/Request-direct-ipv4' + ValidateDirectIpv6: + $ref: '#/components/examples/Request-direct-ipv6' + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateSubnetResponse' + examples: + ValidateSubnet: + $ref: '#/components/examples/Response-200' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + Bad Request: + $ref: '#/components/examples/error-400' + Subnet Overlapping: + $ref: '#/components/examples/error-400-overlappingSubnet' + /fabric/v4/routers/search: + post: + tags: + - Cloud Routers + summary: Search Routers + description: "The API provides capability to get list of user's Cloud Routers\ + \ using search criteria, including optional filtering, pagination and sorting" + operationId: searchCloudRouters + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterSearchRequest' + examples: + SearchFilterByStatus: + $ref: '#/components/examples/SearchFilterByStatus' + SearchFilterByNameAndMetroName: + $ref: '#/components/examples/SearchFilterByNameAndMetroName' + SearchFilterOrAnd: + $ref: '#/components/examples/SearchFilterOrAnd' + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + examples: + Example: + $ref: '#/components/examples/search-example' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_sorting' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/routerPackages: + get: + tags: + - Cloud Routers + summary: List Packages + description: This API provides capability to retrieve user's Cloud Routers Packages + operationId: getCloudRouterPackages + parameters: + - name: offset + in: query + description: offset + required: false + style: form + explode: true + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + style: form + explode: true + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Cloud Router Packages + content: + application/json: + schema: + $ref: '#/components/schemas/PackageResponse' + examples: + Example: + $ref: '#/components/examples/ListFCRPackagesResponse' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/routerPackages/{routerPackageCode}: + get: + tags: + - Cloud Routers + summary: Get Package Details + description: This API provides capability to retrieve user's Cloud Routers Package + Details + operationId: getCloudRouterPackageByCode + parameters: + - name: routerPackageCode + in: path + description: Equinix-assigned Cloud Router package identifier + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/RouterPackageCode' + responses: + "200": + description: Fabric Cloud Router Package details + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterPackage' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_package' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/health: + get: + tags: + - Health + summary: Get service status + description: GET All service health statys with an option query parameter to + return all Equinix Fabric customer in which the customer has a presence. + operationId: getStatus + parameters: [] + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/HealthResponse' + examples: + metroExample: + $ref: '#/components/examples/healthResponse' + /fabric/v4/connections/validate: + post: + tags: + - Connections + summary: Validate Connection + description: This API provides capability to validate by auth key + operationId: validateConnections + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateRequest' + examples: + Alibaba-ValidateAuthKey: + $ref: '#/components/examples/Request_Alibaba' + Aws-ValidateAuthKey: + $ref: '#/components/examples/Request_AWS' + Azure-ValidateAuthKey: + $ref: '#/components/examples/Request_Azure' + Google-ValidateAuthKey: + $ref: '#/components/examples/Request_Google' + IBM-1.0-ValidateAuthKey: + $ref: '#/components/examples/Request_IBM_1' + IBM-2.0-ValidateAuthKey: + $ref: '#/components/examples/Request_IBM_2' + Oracle-ValidateAuthKey: + $ref: '#/components/examples/Request_Oracle' + Dot1q-ValidateVlanAvailability: + $ref: '#/components/examples/Dot1q_Vlan' + Qinq-ValidateVlanAvailability: + $ref: '#/components/examples/Qinq_Vlan' + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionResponse' + examples: + Alibaba-ValidateAuthKey: + $ref: '#/components/examples/Response-Alibaba' + Aws-ValidateAuthKey: + $ref: '#/components/examples/Response-Aws' + Azure-ValidateAuthKey-no-existing-connections: + $ref: '#/components/examples/Response-Azure-no-existing-connections' + Azure-ValidateAuthKey-1-existing-Dot1q-connection: + $ref: '#/components/examples/Response-Azure-1-existing-Dot1q-connection' + Azure-ValidateAuthKey-1-existing-Qinq-connection: + $ref: '#/components/examples/Response-Azure-1-existing-Qinq-connection' + Azure-ValidateAuthKey-2-existing-Dot1q-connection: + $ref: '#/components/examples/Response-Azure-2-existing-Dot1q-connections' + Google-ValidateAuthKey: + $ref: '#/components/examples/Response-Google' + IBM-1.0-ValidateAuthKey: + $ref: '#/components/examples/Response-IBM-1' + IBM-2.0-ValidateAuthKey: + $ref: '#/components/examples/Response-IBM-2' + Oracle-ValidateAuthKey: + $ref: '#/components/examples/Response-Oracle' + Dot1q-ValidateAuthKey: + $ref: '#/components/examples/Response-Dot1q-Vlan' + Qinq-ValidateAuthKey: + $ref: '#/components/examples/Response-Qinq-Vlan' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + Bad Request: + $ref: '#/components/examples/error-400' + /fabric/v4/networks: + post: + tags: + - Networks + summary: Create Network + description: This API provides capability to create user's Fabric Network + operationId: createNetwork + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkPostRequest' + examples: + CreateGlobalNetwork: + $ref: '#/components/examples/CreateGlobalNetwork' + CreateRegionalNetwork: + $ref: '#/components/examples/CreateRegionalNetwork' + required: true + responses: + "202": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + examples: + networkResponse: + $ref: '#/components/examples/NetworkPostResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/networks/{networkId}: + get: + tags: + - Networks + summary: Get Network By ID + description: This API provides capability to retrieve user's Fabric Network + operationId: getNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/NetworkId' + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + examples: + networkResponse: + $ref: '#/components/examples/NetworkGetResponseExample' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' + delete: + tags: + - Networks + summary: Delete Network By ID + description: This API provides capability to delete user's Fabric Network + operationId: deleteNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/NetworkId' + responses: + "202": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + examples: + networkResponse: + $ref: '#/components/examples/NetworkDeleteResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_state' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' + patch: + tags: + - Networks + summary: Update Network By ID + description: This API provides capability to update user's Fabric Network + operationId: updateNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/NetworkId' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/NetworkUpdateRequest' + examples: + UpdateName: + $ref: '#/components/examples/UpdateNetworkName' + UpdateNotificationEmail: + $ref: '#/components/examples/UpdateNetworkNotifications' + required: true + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + examples: + networkResponse: + $ref: '#/components/examples/NetworkPatchResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_state' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + /fabric/v4/networks/search: + post: + tags: + - Networks + summary: Search Network + description: "The API provides capability to get list of user's Fabric Network\ + \ using search criteria, including optional filtering, pagination and sorting" + operationId: searchNetworks + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkSearchRequest' + examples: + SearchFilterByStatus: + $ref: '#/components/examples/SearchFilterByStatus' + SearchFilterOrAnd: + $ref: '#/components/examples/SearchFilterOrAnd' + required: true + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkSearchResponse' + examples: + networkResponse: + $ref: '#/components/examples/NetworkSearchResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_sorting' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + /fabric/v4/networks/{networkId}/connections: + get: + tags: + - Networks + summary: Get Connections + description: The API provides capability to get list of user's Fabric Network + connections + operationId: getConnectionsByNetworkUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/NetworkId' + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkConnections' + examples: + networkResponse: + $ref: '#/components/examples/GetNetworkConnectionExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_uuid' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + /fabric/v4/networks/{networkId}/changes: + get: + tags: + - Networks + summary: Get Network Changes + description: The API provides capability to get list of user's Fabric Network + changes + operationId: getNetworkChanges + parameters: + - name: networkId + in: path + description: Network UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/NetworkId' + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkChangeResponse' + examples: + networkResponse: + $ref: '#/components/examples/NetworkChangeResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_uuid' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + /fabric/v4/networks/{networkId}/changes/{changeId}: + get: + tags: + - Networks + summary: Get Change By ID + description: This API provides capability to retrieve user's Fabric Network + Change + operationId: getNetworkChangeByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/NetworkId' + - name: changeId + in: path + description: Network Change UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ChangeId_3' + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkChange' + examples: + networkResponse: + $ref: '#/components/examples/NetworkGetChangeResponseExample' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/400_invalid_uuid' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/404' + /fabric/v4/timeServices/{serviceId}: + get: + tags: + - Precision Time + summary: Get time service + description: The API provides capability to get prevision timing service's details + operationId: getTimeServicesById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ServiceId' + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + MandatoryName: + $ref: '#/components/examples/400-Mandatory-Name' + InvalidName: + $ref: '#/components/examples/400-Invalid-Name' + ValidateName: + $ref: '#/components/examples/400-Validate-Name' + DuplicateName: + $ref: '#/components/examples/400-Duplicate-Name' + MandatoryConnectionUuid: + $ref: '#/components/examples/400-Mandatory-ConnectionUUid' + InvalidConnectionUuidFormat: + $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' + InvalidConnectionStatus: + $ref: '#/components/examples/400-Invalid-Connection-Status' + ValidateConnectionUuid: + $ref: '#/components/examples/400-Validate-ConnectionUuid' + InvalidConnectionLocation: + $ref: '#/components/examples/400-Invalid-Connection-Location' + MandatoryPackageType: + $ref: '#/components/examples/400-Mandatory-PackageType' + InvalidPackageType: + $ref: '#/components/examples/400-Invalid-PackageType' + InvalidConnectionPackageType: + $ref: '#/components/examples/400-Invalid-Connection-PackageType' + MandatoryPackage: + $ref: '#/components/examples/400-Mandatory-Package' + InvalidPackage: + $ref: '#/components/examples/400-Invalid-Package' + InvalidConnectionPackage: + $ref: '#/components/examples/400-Invalid-Connection-Package' + MandatoryPrimaryIP: + $ref: '#/components/examples/400-Mandatory-PrimaryIP' + InvalidPrimaryIPFormat: + $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' + ValidatePrimaryIP: + $ref: '#/components/examples/400-Validate-PrimaryIP' + MandatorySecondaryIP: + $ref: '#/components/examples/400-Mandatory-SecondaryIP' + InvalidSecondaryIPFormat: + $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' + ValidateSecondaryIP: + $ref: '#/components/examples/400-Validate-SecondaryIP' + ValidateSameSubnet: + $ref: '#/components/examples/400-Validate-SameSubnet' + MandatoryNetworkMask: + $ref: '#/components/examples/400-Mandatory-NetworkMask' + InvalidNetworkMaskFormat: + $ref: '#/components/examples/400-Invalid-NetworkMask-Format' + ValidateNetworkMask: + $ref: '#/components/examples/400-Validate-NetworkMask' + InvalidDefaultGatewayFormat: + $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' + ValidateDefaultGateway: + $ref: '#/components/examples/400-Validate-DefaultGateway' + InvalidTimeScale: + $ref: '#/components/examples/400-Invalid-TimeScale' + InvalidDomain: + $ref: '#/components/examples/400-Invalid-Domain' + InvalidPriority1: + $ref: '#/components/examples/400-Invalid-Priority1' + InvalidPriority2: + $ref: '#/components/examples/400-Invalid-Priority2' + InvalidLogAnnounceInterval: + $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' + ValidateLogAnnounceIntervalRange: + $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' + InvalidLogSyncInterval: + $ref: '#/components/examples/400-Invalid-LogSyncInterval' + ValidateLogSyncIntervalRange: + $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' + InvalidLogDelayReqInterval: + $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' + ValidateLogDelayReqIntervalRange: + $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' + InvalidTransportMode: + $ref: '#/components/examples/400-Invalid-TransportMode' + InvalidGrantTime: + $ref: '#/components/examples/400-Invalid-GrantTime' + ValidateGrantTimeRange: + $ref: '#/components/examples/400-Validate-GrantTime-Range' + InvalidType: + $ref: '#/components/examples/400-Invalid-Type' + InvalidId: + $ref: '#/components/examples/400-Invalid-Id' + InvalidPassword: + $ref: '#/components/examples/400-Invalid-Password' + ValidatePassword: + $ref: '#/components/examples/400-Validate-Password' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + delete: + tags: + - Precision Time + summary: Delete time service + description: Delete EPT service by it's uuid + operationId: deleteTimeServiceById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ServiceId' + responses: + "204": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + patch: + tags: + - Precision Time + summary: Patch time service + description: The API provides capability to update timing service + operationId: updateTimeServicesById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ServiceId' + requestBody: + content: + application/json-patch+json: + schema: + minItems: 1 + type: array + items: + $ref: '#/components/schemas/precisionTimeChangeOperation' + examples: + editName: + $ref: '#/components/examples/edit' + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + MandatoryName: + $ref: '#/components/examples/400-Mandatory-Name' + InvalidName: + $ref: '#/components/examples/400-Invalid-Name' + ValidateName: + $ref: '#/components/examples/400-Validate-Name' + DuplicateName: + $ref: '#/components/examples/400-Duplicate-Name' + MandatoryConnectionUuid: + $ref: '#/components/examples/400-Mandatory-ConnectionUUid' + InvalidConnectionUuidFormat: + $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' + InvalidConnectionStatus: + $ref: '#/components/examples/400-Invalid-Connection-Status' + ValidateConnectionUuid: + $ref: '#/components/examples/400-Validate-ConnectionUuid' + InvalidConnectionLocation: + $ref: '#/components/examples/400-Invalid-Connection-Location' + MandatoryPackageType: + $ref: '#/components/examples/400-Mandatory-PackageType' + InvalidPackageType: + $ref: '#/components/examples/400-Invalid-PackageType' + InvalidConnectionPackageType: + $ref: '#/components/examples/400-Invalid-Connection-PackageType' + MandatoryPackage: + $ref: '#/components/examples/400-Mandatory-Package' + InvalidPackage: + $ref: '#/components/examples/400-Invalid-Package' + InvalidConnectionPackage: + $ref: '#/components/examples/400-Invalid-Connection-Package' + MandatoryPrimaryIP: + $ref: '#/components/examples/400-Mandatory-PrimaryIP' + InvalidPrimaryIPFormat: + $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' + ValidatePrimaryIP: + $ref: '#/components/examples/400-Validate-PrimaryIP' + MandatorySecondaryIP: + $ref: '#/components/examples/400-Mandatory-SecondaryIP' + InvalidSecondaryIPFormat: + $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' + ValidateSecondaryIP: + $ref: '#/components/examples/400-Validate-SecondaryIP' + ValidateSameSubnet: + $ref: '#/components/examples/400-Validate-SameSubnet' + MandatoryNetworkMask: + $ref: '#/components/examples/400-Mandatory-NetworkMask' + InvalidNetworkMaskFormat: + $ref: '#/components/examples/400-Invalid-NetworkMask-Format' + ValidateNetworkMask: + $ref: '#/components/examples/400-Validate-NetworkMask' + InvalidDefaultGatewayFormat: + $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' + ValidateDefaultGateway: + $ref: '#/components/examples/400-Validate-DefaultGateway' + InvalidTimeScale: + $ref: '#/components/examples/400-Invalid-TimeScale' + InvalidDomain: + $ref: '#/components/examples/400-Invalid-Domain' + InvalidPriority1: + $ref: '#/components/examples/400-Invalid-Priority1' + InvalidPriority2: + $ref: '#/components/examples/400-Invalid-Priority2' + InvalidLogAnnounceInterval: + $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' + ValidateLogAnnounceIntervalRange: + $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' + InvalidLogSyncInterval: + $ref: '#/components/examples/400-Invalid-LogSyncInterval' + ValidateLogSyncIntervalRange: + $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' + InvalidLogDelayReqInterval: + $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' + ValidateLogDelayReqIntervalRange: + $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' + InvalidTransportMode: + $ref: '#/components/examples/400-Invalid-TransportMode' + InvalidGrantTime: + $ref: '#/components/examples/400-Invalid-GrantTime' + ValidateGrantTimeRange: + $ref: '#/components/examples/400-Validate-GrantTime-Range' + InvalidType: + $ref: '#/components/examples/400-Invalid-Type' + InvalidId: + $ref: '#/components/examples/400-Invalid-Id' + InvalidPassword: + $ref: '#/components/examples/400-Invalid-Password' + ValidatePassword: + $ref: '#/components/examples/400-Validate-Password' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/timeServices: + post: + tags: + - Precision Time + summary: Create time service + description: The API provides capability to create timing service + operationId: createTimeServices + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServiceRequest' + examples: + ntpSingleStandard: + $ref: '#/components/examples/ntpSingleStandard' + ptpSingleStandard: + $ref: '#/components/examples/ptpSingleStandard' + ptpSingleEnterpriseWithAdvanceConfiguration: + $ref: '#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration' + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + "400": + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + MandatoryName: + $ref: '#/components/examples/400-Mandatory-Name' + InvalidName: + $ref: '#/components/examples/400-Invalid-Name' + ValidateName: + $ref: '#/components/examples/400-Validate-Name' + DuplicateName: + $ref: '#/components/examples/400-Duplicate-Name' + MandatoryConnectionUuid: + $ref: '#/components/examples/400-Mandatory-ConnectionUUid' + InvalidConnectionUuidFormat: + $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' + InvalidConnectionStatus: + $ref: '#/components/examples/400-Invalid-Connection-Status' + ValidateConnectionUuid: + $ref: '#/components/examples/400-Validate-ConnectionUuid' + InvalidConnectionLocation: + $ref: '#/components/examples/400-Invalid-Connection-Location' + MandatoryPackageType: + $ref: '#/components/examples/400-Mandatory-PackageType' + InvalidPackageType: + $ref: '#/components/examples/400-Invalid-PackageType' + InvalidConnectionPackageType: + $ref: '#/components/examples/400-Invalid-Connection-PackageType' + MandatoryPackage: + $ref: '#/components/examples/400-Mandatory-Package' + InvalidPackage: + $ref: '#/components/examples/400-Invalid-Package' + InvalidConnectionPackage: + $ref: '#/components/examples/400-Invalid-Connection-Package' + MandatoryPrimaryIP: + $ref: '#/components/examples/400-Mandatory-PrimaryIP' + InvalidPrimaryIPFormat: + $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' + ValidatePrimaryIP: + $ref: '#/components/examples/400-Validate-PrimaryIP' + MandatorySecondaryIP: + $ref: '#/components/examples/400-Mandatory-SecondaryIP' + InvalidSecondaryIPFormat: + $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' + ValidateSecondaryIP: + $ref: '#/components/examples/400-Validate-SecondaryIP' + ValidateSameSubnet: + $ref: '#/components/examples/400-Validate-SameSubnet' + MandatoryNetworkMask: + $ref: '#/components/examples/400-Mandatory-NetworkMask' + InvalidNetworkMaskFormat: + $ref: '#/components/examples/400-Invalid-NetworkMask-Format' + ValidateNetworkMask: + $ref: '#/components/examples/400-Validate-NetworkMask' + InvalidDefaultGatewayFormat: + $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' + ValidateDefaultGateway: + $ref: '#/components/examples/400-Validate-DefaultGateway' + InvalidTimeScale: + $ref: '#/components/examples/400-Invalid-TimeScale' + InvalidDomain: + $ref: '#/components/examples/400-Invalid-Domain' + InvalidPriority1: + $ref: '#/components/examples/400-Invalid-Priority1' + InvalidPriority2: + $ref: '#/components/examples/400-Invalid-Priority2' + InvalidLogAnnounceInterval: + $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' + ValidateLogAnnounceIntervalRange: + $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' + InvalidLogSyncInterval: + $ref: '#/components/examples/400-Invalid-LogSyncInterval' + ValidateLogSyncIntervalRange: + $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' + InvalidLogDelayReqInterval: + $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' + ValidateLogDelayReqIntervalRange: + $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' + InvalidTransportMode: + $ref: '#/components/examples/400-Invalid-TransportMode' + InvalidGrantTime: + $ref: '#/components/examples/400-Invalid-GrantTime' + ValidateGrantTimeRange: + $ref: '#/components/examples/400-Validate-GrantTime-Range' + InvalidType: + $ref: '#/components/examples/400-Invalid-Type' + InvalidId: + $ref: '#/components/examples/400-Invalid-Id' + InvalidPassword: + $ref: '#/components/examples/400-Invalid-Password' + ValidatePassword: + $ref: '#/components/examples/400-Validate-Password' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/timeServices/{serviceId}/connections: + get: + tags: + - Precision Time + summary: Get Conn Links + description: The API provides capability to get prevision timing service's details + operationId: getTimeServicesConnectionsByServiceId + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/ServiceId' + responses: + "200": + description: Return Time Service Connection + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServiceConnectionsResponse' + examples: + example: + $ref: '#/components/examples/serviceConnectionsResponse' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/401' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/403' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/timeServicesPackages: + get: + tags: + - Precision Time + summary: Get Packages + description: The API provides capability to get timing service's packages + operationId: getTimeServicesPackages + parameters: [] + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/precisionTimeServicePackagesResponse' + examples: + example: + $ref: '#/components/examples/servicePackagesResponse' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' + /fabric/v4/timeServicesPackages/{packageCode}: + get: + tags: + - Precision Time + summary: Get package by Code + description: The API provides capability to get timing service's package by + code + operationId: getTimeServicesPackageByCode + parameters: + - name: packageCode + in: path + description: Package Code + required: true + style: simple + explode: false + schema: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PackageResponse' + examples: + example: + $ref: '#/components/examples/servicePackageResponse' + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/415' + "500": + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + examples: + example: + $ref: '#/components/examples/500' +components: + schemas: + ConnectionPostRequest: + type: object + properties: + type: + $ref: '#/components/schemas/ConnectionType' + name: + type: string + description: Customer-provided connection name + order: + $ref: '#/components/schemas/Order' + notifications: + type: array + description: Preferences for notifications on connection configuration or + status changes + items: + $ref: '#/components/schemas/SimplifiedNotification' + bandwidth: + maximum: 50000 + minimum: 0 + type: integer + description: Connection bandwidth in Mbps + geoScope: + $ref: '#/components/schemas/GeoScopeType' + redundancy: + $ref: '#/components/schemas/ConnectionRedundancy' + aSide: + $ref: '#/components/schemas/ConnectionSide' + zSide: + $ref: '#/components/schemas/ConnectionSide' + project: + $ref: '#/components/schemas/Project' + additionalInfo: + type: array + description: Connection additional information + items: + $ref: '#/components/schemas/ConnectionSideAdditionalInfo' + description: Create connection post request + Connection: + required: + - aSide + - bandwidth + - name + - type + - zSide + type: object + properties: + type: + $ref: '#/components/schemas/ConnectionType' + href: + type: string + description: Connection URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + name: + type: string + description: Customer-provided connection name + description: + type: string + description: Customer-provided connection description + state: + $ref: '#/components/schemas/ConnectionState' + change: + $ref: '#/components/schemas/Change' + operation: + $ref: '#/components/schemas/ConnectionOperation' + order: + $ref: '#/components/schemas/Order' + notifications: + type: array + description: Preferences for notifications on connection configuration or + status changes + items: + $ref: '#/components/schemas/SimplifiedNotification' + account: + $ref: '#/components/schemas/SimplifiedAccount' + changeLog: + $ref: '#/components/schemas/Changelog' + bandwidth: + maximum: 10000 + minimum: 0 + type: integer + description: Connection bandwidth in Mbps + geoScope: + $ref: '#/components/schemas/GeoScopeType' + redundancy: + $ref: '#/components/schemas/ConnectionRedundancy' + isRemote: + type: boolean + description: Connection property derived from access point locations + direction: + $ref: '#/components/schemas/ConnectionDirection' + aSide: + $ref: '#/components/schemas/ConnectionSide' + zSide: + $ref: '#/components/schemas/ConnectionSide' + additionalInfo: + type: array + description: Connection additional information + items: + $ref: '#/components/schemas/ConnectionSideAdditionalInfo' + project: $ref: '#/components/schemas/Project' description: Connection specification example: @@ -5994,6 +7857,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -6003,6 +7867,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -6016,9 +7881,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -6046,6 +7912,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -6225,10 +8094,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -6534,6 +8403,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -6543,6 +8413,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -6556,9 +8427,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -6586,6 +8458,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -6765,10 +8640,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion description: description changeLog: @@ -7361,6 +9236,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -7370,6 +9246,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -7383,9 +9260,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -7413,6 +9291,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -7592,10 +9473,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -7835,6 +9716,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -7844,6 +9726,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -7857,9 +9740,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -7887,6 +9771,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -8066,10 +9953,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -8866,6 +10753,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -8875,6 +10763,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -9258,6 +11147,9 @@ components: name: type: string description: metro name + vcBandwidthMax: + type: integer + description: max VC speed supported in Mbps ibxs: type: array items: @@ -9279,6 +11171,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -9450,6 +11343,44 @@ components: type: object description: value to replace with description: Replace attribute value or sub-resource in the existing model + ServiceMetros: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ServiceMetro' + pagination: + $ref: '#/components/schemas/Pagination' + description: Service Profile Metros + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: + - code: code + sellerRegions: + key: sellerRegions + ibxs: + - ibxs + - ibxs + vcBandwidthMax: 1 + displayName: displayName + name: name + inTrail: true + - code: code + sellerRegions: + key: sellerRegions + ibxs: + - ibxs + - ibxs + vcBandwidthMax: 1 + displayName: displayName + name: name + inTrail: true ServiceTokenUUID: type: string description: Service Token UUID @@ -10326,202 +12257,458 @@ components: cvpId: cvpId physicalPortsCount: 5 name: name - location: - metroName: Amsterdam - metroCode: AM - metroHref: https://api.equinix.com/fabric/v4/metros/AM - region: "AMER, APAC, EMEA" - ibx: AM1 - operation: - operationalStatus: UP - connectionCount: 4 - opStatusChangedAt: 2020-11-06T07:00:00Z - device: - name: name - redundancy: - priority: PRIMARY - group: group - asn: 9 - account: - resellerOrgId: 5 - organizationName: organizationName - resellerAccountNumber: 1 - accountName: accountName - ucmId: ucmId - resellerUcmId: resellerUcmId - globalOrganizationName: globalOrganizationName - globalOrgId: globalOrgId - resellerAccountName: resellerAccountName - accountNumber: 0 - globalCustId: globalCustId - orgId: 6 - notifications: - - registeredUsers: - - registeredUsers - - registeredUsers - type: NOTIFICATION - - registeredUsers: - - registeredUsers - - registeredUsers - type: NOTIFICATION - Port: - required: - - account - - connectivitySourceType - - encapsulation - - location - - physicalPortsSpeed - - physicalPortsType - - settings - - type + location: + metroName: Amsterdam + metroCode: AM + metroHref: https://api.equinix.com/fabric/v4/metros/AM + region: "AMER, APAC, EMEA" + ibx: AM1 + operation: + operationalStatus: UP + connectionCount: 4 + opStatusChangedAt: 2020-11-06T07:00:00Z + device: + name: name + redundancy: + priority: PRIMARY + group: group + asn: 9 + account: + resellerOrgId: 5 + organizationName: organizationName + resellerAccountNumber: 1 + accountName: accountName + ucmId: ucmId + resellerUcmId: resellerUcmId + globalOrganizationName: globalOrganizationName + globalOrgId: globalOrgId + resellerAccountName: resellerAccountName + accountNumber: 0 + globalCustId: globalCustId + orgId: 6 + notifications: + - registeredUsers: + - registeredUsers + - registeredUsers + type: NOTIFICATION + - registeredUsers: + - registeredUsers + - registeredUsers + type: NOTIFICATION + Port: + required: + - account + - connectivitySourceType + - encapsulation + - location + - physicalPortsSpeed + - physicalPortsType + - settings + - type + type: object + properties: + type: + $ref: '#/components/schemas/PortType' + id: + type: integer + description: Equinix assigned response attribute for Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that + is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix assigned response attribute for port identifier + format: uuid + name: + type: string + description: Equinix assigned response attribute for Port name + description: + type: string + description: Equinix assigned response attribute for Port description + physicalPortsSpeed: + minimum: 0 + type: integer + description: Physical Ports Speed in Mbps + connectionsCount: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Connection count + physicalPortsType: + type: string + description: Physical Ports Type + enum: + - 1000BASE_LX + - 10GBASE_LR + - 100GBASE_LR4 + - 10GBASE_ER + - 1000BASE_SX + physicalPortsCount: + type: integer + connectivitySourceType: + type: string + description: Port connectivity type + enum: + - COLO + - BMMR + - REMOTE + bmmrType: + type: string + enum: + - SELF + - EQUINIX + project: + $ref: '#/components/schemas/Project' + state: + $ref: '#/components/schemas/PortState' + order: + $ref: '#/components/schemas/PortOrder' + cvpId: + type: string + description: Equinix assigned response attribute for Unique ID for a virtual + port. + operation: + $ref: '#/components/schemas/PortOperation' + account: + $ref: '#/components/schemas/SimplifiedAccount' + changelog: + $ref: '#/components/schemas/Changelog' + serviceType: + type: string + description: Port service Type + enum: + - EPL + - MSP + bandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port bandwidth in Mbps + availableBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port available bandwidth + in Mbps + usedBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port used bandwidth + in Mbps + location: + $ref: '#/components/schemas/SimplifiedLocation' + device: + $ref: '#/components/schemas/PortDevice' + interface: + $ref: '#/components/schemas/PortInterface' + demarcationPointIbx: + type: string + description: A-side/Equinix ibx + tetherIbx: + type: string + description: z-side/Equinix ibx + demarcationPoint: + $ref: '#/components/schemas/PortDemarcationPoint' + redundancy: + $ref: '#/components/schemas/PortRedundancy' + encapsulation: + $ref: '#/components/schemas/PortEncapsulation' + lagEnabled: + type: boolean + description: If LAG enabled + lag: + $ref: '#/components/schemas/PortLag' + asn: + type: integer + description: Port ASN + settings: + $ref: '#/components/schemas/PortSettings' + physicalPortQuantity: + type: integer + description: Number of physical ports + notifications: + type: array + description: Notification preferences + items: + $ref: '#/components/schemas/PortNotification' + additionalInfo: + type: array + description: Port additional information + items: + $ref: '#/components/schemas/PortAdditionalInfo' + physicalPorts: + type: array + description: Physical ports that implement this port + items: + $ref: '#/components/schemas/PhysicalPort' + loas: + type: array + description: Port Loas + items: + $ref: '#/components/schemas/PortLoa' + description: Port specification + example: + serviceType: EPL + encapsulation: + tagProtocolId: tagProtocolId + type: "NULL" + lagEnabled: true + loas: + - href: http://example.com/aeiou + type: CTR_LOA + uuid: uuid + - href: http://example.com/aeiou + type: CTR_LOA + uuid: uuid + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: XF_PORT + interface: + ifIndex: ifIndex + name: name + type: type + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + physicalPortsSpeed: 0 + connectionsCount: 0 + connectivitySourceType: COLO + physicalPortQuantity: 3 + lag: + name: name + memberStatus: memberStatus + id: id + enabled: true + usedBandwidth: 0 + additionalInfo: + - value: value + key: key + - value: value + key: key + id: 0 + href: http://example.com/aeiou + state: PENDING + redundancy: + priority: PRIMARY + enabled: true + group: group + demarcationPointIbx: demarcationPointIbx + order: + orderNumber: orderNumber + orderId: orderId + signature: + delegate: + firstName: firstName + lastName: lastName + email: email + signatory: DELEGATE + purchaseOrder: + number: number + amount: amount + selectionType: EXEMPTION + endDate: endDate + attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + startDate: startDate + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + settings: + product: product + productCode: productCode + layer3Enabled: true + buyout: true + viewPortPermission: true + placeVcOrderPermission: true + sharedPortType: true + packageType: STANDARD + sharedPortProduct: NETWORK_EDGE + availableBandwidth: 0 + bmmrType: SELF + demarcationPoint: + patchPanel: patchPanel + patchPanelName: patchPanelName + connectorType: connectorType + cabinetUniqueSpaceId: cabinetUniqueSpaceId + patchPanelPortB: patchPanelPortB + patchPanelPortA: patchPanelPortA + cageUniqueSpaceId: cageUniqueSpaceId + ibx: ibx + bandwidth: 0 + tetherIbx: tetherIbx + physicalPorts: + - demarcationPoint: null + tether: null + loas: + - href: http://example.com/aeiou + type: CTR_LOA + uuid: uuid + - href: http://example.com/aeiou + type: CTR_LOA + uuid: uuid + type: XF_PHYSICAL_PORT + interfaceType: interfaceType + additionalInfo: + - null + - null + id: 6 + href: http://example.com/aeiou + state: null + operation: null + account: null + interfaceSpeed: 0 + order: + orderNumber: orderNumber + orderId: orderId + signature: + delegate: + firstName: firstName + lastName: lastName + email: email + signatory: DELEGATE + purchaseOrder: + number: number + amount: amount + selectionType: EXEMPTION + endDate: endDate + attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + startDate: startDate + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + - demarcationPoint: null + tether: null + loas: + - href: http://example.com/aeiou + type: CTR_LOA + uuid: uuid + - href: http://example.com/aeiou + type: CTR_LOA + uuid: uuid + type: XF_PHYSICAL_PORT + interfaceType: interfaceType + additionalInfo: + - null + - null + id: 6 + href: http://example.com/aeiou + state: null + operation: null + account: null + interfaceSpeed: 0 + order: + orderNumber: orderNumber + orderId: orderId + signature: + delegate: + firstName: firstName + lastName: lastName + email: email + signatory: DELEGATE + purchaseOrder: + number: number + amount: amount + selectionType: EXEMPTION + endDate: endDate + attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + startDate: startDate + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + changelog: + createdByEmail: john.smith@example.com + deletedByFullName: John Smith + updatedBy: johnsmith + createdBy: johnsmith + updatedByEmail: john.smith@example.com + createdByFullName: John Smith + createdDateTime: 2020-11-06T07:00:00Z + deletedDateTime: 2020-11-06T07:00:00Z + updatedByFullName: John Smith + deletedBy: johnsmith + deletedByEmail: john.smith@example.com + updatedDateTime: 2020-11-06T07:00:00Z + physicalPortsType: 1000BASE_LX + cvpId: cvpId + physicalPortsCount: 5 + name: name + location: + metroName: Amsterdam + metroCode: AM + metroHref: https://api.equinix.com/fabric/v4/metros/AM + region: "AMER, APAC, EMEA" + ibx: AM1 + operation: + operationalStatus: UP + connectionCount: 4 + opStatusChangedAt: 2020-11-06T07:00:00Z + device: + name: name + redundancy: + priority: PRIMARY + group: group + asn: 9 + account: + resellerOrgId: 5 + organizationName: organizationName + resellerAccountNumber: 1 + accountName: accountName + ucmId: ucmId + resellerUcmId: resellerUcmId + globalOrganizationName: globalOrganizationName + globalOrgId: globalOrgId + resellerAccountName: resellerAccountName + accountNumber: 0 + globalCustId: globalCustId + orgId: 6 + notifications: + - registeredUsers: + - registeredUsers + - registeredUsers + type: NOTIFICATION + - registeredUsers: + - registeredUsers + - registeredUsers + type: NOTIFICATION + PhysicalPort: type: object properties: type: - $ref: '#/components/schemas/PortType' + $ref: '#/components/schemas/PhysicalPortType' id: type: integer - description: Equinix assigned response attribute for Port Id + description: Equinix assigned response attribute for Physical Port Id href: type: string description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. format: uri - readOnly: true - uuid: - type: string - description: Equinix assigned response attribute for port identifier - format: uuid - name: - type: string - description: Equinix assigned response attribute for Port name - description: - type: string - description: Equinix assigned response attribute for Port description - physicalPortsSpeed: - minimum: 0 - type: integer - description: Physical Ports Speed in Mbps - connectionsCount: - minimum: 0 - type: integer - description: Equinix assigned response attribute for Connection count - physicalPortsType: - type: string - description: Physical Ports Type - enum: - - 1000BASE_LX - - 10GBASE_LR - - 100GBASE_LR4 - - 10GBASE_ER - - 1000BASE_SX - physicalPortsCount: - type: integer - connectivitySourceType: - type: string - description: Port connectivity type - enum: - - COLO - - BMMR - - REMOTE - bmmrType: - type: string - enum: - - SELF - - EQUINIX - project: - $ref: '#/components/schemas/Project' - state: - $ref: '#/components/schemas/PortState' - order: - $ref: '#/components/schemas/PortOrder' - cvpId: - type: string - description: Equinix assigned response attribute for Unique ID for a virtual - port. - operation: - $ref: '#/components/schemas/PortOperation' + readOnly: true + state: + $ref: '#/components/schemas/PortState' account: $ref: '#/components/schemas/SimplifiedAccount' - changelog: - $ref: '#/components/schemas/Changelog' - serviceType: - type: string - description: Port service Type - enum: - - EPL - - MSP - bandwidth: - minimum: 0 - type: integer - description: Equinix assigned response attribute for Port bandwidth in Mbps - availableBandwidth: - minimum: 0 - type: integer - description: Equinix assigned response attribute for Port available bandwidth - in Mbps - usedBandwidth: + interfaceSpeed: minimum: 0 type: integer - description: Equinix assigned response attribute for Port used bandwidth - in Mbps - location: - $ref: '#/components/schemas/SimplifiedLocation' - device: - $ref: '#/components/schemas/PortDevice' - interface: - $ref: '#/components/schemas/PortInterface' - demarcationPointIbx: - type: string - description: A-side/Equinix ibx - tetherIbx: + description: Physical Port Speed in Mbps + interfaceType: type: string - description: z-side/Equinix ibx + description: Physical Port Interface Type + tether: + $ref: '#/components/schemas/PortTether' demarcationPoint: $ref: '#/components/schemas/PortDemarcationPoint' - redundancy: - $ref: '#/components/schemas/PortRedundancy' - encapsulation: - $ref: '#/components/schemas/PortEncapsulation' - lagEnabled: - type: boolean - description: If LAG enabled - lag: - $ref: '#/components/schemas/PortLag' - asn: - type: integer - description: Port ASN - settings: - $ref: '#/components/schemas/PortSettings' - physicalPortQuantity: - type: integer - description: Number of physical ports - notifications: - type: array - description: Notification preferences - items: - $ref: '#/components/schemas/PortNotification' additionalInfo: type: array - description: Port additional information + description: Physical Port additional information items: $ref: '#/components/schemas/PortAdditionalInfo' - physicalPorts: - type: array - description: Physical ports that implement this port - items: - $ref: '#/components/schemas/PhysicalPort' + order: + $ref: '#/components/schemas/PortOrder' + operation: + $ref: '#/components/schemas/PortOperation' loas: type: array description: Port Loas items: $ref: '#/components/schemas/PortLoa' - description: Port specification + description: Physical Port specification example: - serviceType: EPL - encapsulation: - tagProtocolId: tagProtocolId - type: "NULL" - lagEnabled: true + demarcationPoint: null + tether: null loas: - href: http://example.com/aeiou type: CTR_LOA @@ -10529,38 +12716,17 @@ components: - href: http://example.com/aeiou type: CTR_LOA uuid: uuid - description: description - project: - projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 - type: XF_PORT - interface: - ifIndex: ifIndex - name: name - type: type - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - physicalPortsSpeed: 0 - connectionsCount: 0 - connectivitySourceType: COLO - physicalPortQuantity: 3 - lag: - name: name - memberStatus: memberStatus - id: id - enabled: true - usedBandwidth: 0 + type: XF_PHYSICAL_PORT + interfaceType: interfaceType additionalInfo: - - value: value - key: key - - value: value - key: key - id: 0 + - null + - null + id: 6 href: http://example.com/aeiou - state: PENDING - redundancy: - priority: PRIMARY - enabled: true - group: group - demarcationPointIbx: demarcationPointIbx + state: null + operation: null + account: null + interfaceSpeed: 0 order: orderNumber: orderNumber orderId: orderId @@ -10578,30 +12744,42 @@ components: attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 startDate: startDate uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - settings: - product: product - productCode: productCode - layer3Enabled: true - buyout: true - viewPortPermission: true - placeVcOrderPermission: true - sharedPortType: true - packageType: STANDARD - sharedPortProduct: NETWORK_EDGE - availableBandwidth: 0 - bmmrType: SELF - demarcationPoint: - patchPanel: patchPanel - patchPanelName: patchPanelName - connectorType: connectorType - cabinetUniqueSpaceId: cabinetUniqueSpaceId - patchPanelPortB: patchPanelPortB - patchPanelPortA: patchPanelPortA - cageUniqueSpaceId: cageUniqueSpaceId - ibx: ibx - bandwidth: 0 - tetherIbx: tetherIbx - physicalPorts: + BulkPort: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Port' + description: Create bulk port request + BulkPhysicalPort: + type: object + properties: + data: + type: array + description: add physical ports to virtual port + items: + $ref: '#/components/schemas/PhysicalPort' + description: Add to Lag request + AllPhysicalPortsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + description: GET All Physical Ports + items: + $ref: '#/components/schemas/PhysicalPort' + description: GET All Physical Ports + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: - demarcationPoint: null tether: null loas: @@ -10651,196 +12829,421 @@ components: type: XF_PHYSICAL_PORT interfaceType: interfaceType additionalInfo: - - null - - null - id: 6 - href: http://example.com/aeiou - state: null - operation: null - account: null - interfaceSpeed: 0 - order: - orderNumber: orderNumber - orderId: orderId - signature: - delegate: - firstName: firstName - lastName: lastName - email: email - signatory: DELEGATE - purchaseOrder: - number: number - amount: amount - selectionType: EXEMPTION - endDate: endDate - attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - startDate: startDate - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - changelog: - createdByEmail: john.smith@example.com - deletedByFullName: John Smith - updatedBy: johnsmith - createdBy: johnsmith - updatedByEmail: john.smith@example.com - createdByFullName: John Smith - createdDateTime: 2020-11-06T07:00:00Z - deletedDateTime: 2020-11-06T07:00:00Z - updatedByFullName: John Smith - deletedBy: johnsmith - deletedByEmail: john.smith@example.com - updatedDateTime: 2020-11-06T07:00:00Z - physicalPortsType: 1000BASE_LX - cvpId: cvpId - physicalPortsCount: 5 - name: name - location: - metroName: Amsterdam - metroCode: AM - metroHref: https://api.equinix.com/fabric/v4/metros/AM - region: "AMER, APAC, EMEA" - ibx: AM1 - operation: - operationalStatus: UP - connectionCount: 4 - opStatusChangedAt: 2020-11-06T07:00:00Z - device: - name: name - redundancy: - priority: PRIMARY - group: group - asn: 9 - account: - resellerOrgId: 5 - organizationName: organizationName - resellerAccountNumber: 1 - accountName: accountName - ucmId: ucmId - resellerUcmId: resellerUcmId - globalOrganizationName: globalOrganizationName - globalOrgId: globalOrgId - resellerAccountName: resellerAccountName - accountNumber: 0 - globalCustId: globalCustId - orgId: 6 - notifications: - - registeredUsers: - - registeredUsers - - registeredUsers - type: NOTIFICATION - - registeredUsers: - - registeredUsers - - registeredUsers - type: NOTIFICATION - PhysicalPort: + - null + - null + id: 6 + href: http://example.com/aeiou + state: null + operation: null + account: null + interfaceSpeed: 0 + order: + orderNumber: orderNumber + orderId: orderId + signature: + delegate: + firstName: firstName + lastName: lastName + email: email + signatory: DELEGATE + purchaseOrder: + number: number + amount: amount + selectionType: EXEMPTION + endDate: endDate + attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + startDate: startDate + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + LinkProtocolGetResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/LinkProtocolResponse' + description: List of Vlans + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: + - vlanTag: 20 + vlanCTag: 20 + changeLog: + createdByEmail: john.smith@example.com + deletedByFullName: John Smith + updatedBy: johnsmith + createdBy: johnsmith + updatedByEmail: john.smith@example.com + createdByFullName: John Smith + createdDateTime: 2020-11-06T07:00:00Z + deletedDateTime: 2020-11-06T07:00:00Z + updatedByFullName: John Smith + deletedBy: johnsmith + deletedByEmail: john.smith@example.com + updatedDateTime: 2020-11-06T07:00:00Z + type: UNTAGGED + vlanSTag: 20 + vlanCTagMin: 20 + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + vlanTagMin: 20 + subInterface: + unit: 200 + name: name + type: VNI + additionalInfo: + - value: value + key: key + - value: value + key: key + connection: + bandwidth: 100 + href: http://example.com/aeiou + type: EVPL_VC + uuid: cd67f685-41b0-1b07-6de0-320a5c00abe + state: RESERVED + vlanTagMax: 200 + serviceToken: + bandwidth: 1000 + href: http://example.com/aeiou + type: TOKEN + uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe + vlanCTagMax: 200 + - vlanTag: 20 + vlanCTag: 20 + changeLog: + createdByEmail: john.smith@example.com + deletedByFullName: John Smith + updatedBy: johnsmith + createdBy: johnsmith + updatedByEmail: john.smith@example.com + createdByFullName: John Smith + createdDateTime: 2020-11-06T07:00:00Z + deletedDateTime: 2020-11-06T07:00:00Z + updatedByFullName: John Smith + deletedBy: johnsmith + deletedByEmail: john.smith@example.com + updatedDateTime: 2020-11-06T07:00:00Z + type: UNTAGGED + vlanSTag: 20 + vlanCTagMin: 20 + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + vlanTagMin: 20 + subInterface: + unit: 200 + name: name + type: VNI + additionalInfo: + - value: value + key: key + - value: value + key: key + connection: + bandwidth: 100 + href: http://example.com/aeiou + type: EVPL_VC + uuid: cd67f685-41b0-1b07-6de0-320a5c00abe + state: RESERVED + vlanTagMax: 200 + serviceToken: + bandwidth: 1000 + href: http://example.com/aeiou + type: TOKEN + uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe + vlanCTagMax: 200 + PortV4SearchRequest: type: object properties: - type: - $ref: '#/components/schemas/PhysicalPortType' - id: - type: integer - description: Equinix assigned response attribute for Physical Port Id - href: - type: string - description: Equinix assigned response attribute for an absolute URL that - is the subject of the link's context. - format: uri - readOnly: true - state: - $ref: '#/components/schemas/PortState' - account: - $ref: '#/components/schemas/SimplifiedAccount' - interfaceSpeed: - minimum: 0 - type: integer - description: Physical Port Speed in Mbps - interfaceType: + filter: + $ref: '#/components/schemas/PortExpression' + pagination: + $ref: '#/components/schemas/PaginationRequest' + sort: + type: array + items: + $ref: '#/components/schemas/PortSortCriteria' + description: Search requests containing criteria + PortExpression: + type: object + properties: + and: + $ref: '#/components/schemas/PortExpressions' + or: + $ref: '#/components/schemas/PortExpressions' + property: + $ref: '#/components/schemas/PortSearchFieldName' + operator: type: string - description: Physical Port Interface Type - tether: - $ref: '#/components/schemas/PortTether' - demarcationPoint: - $ref: '#/components/schemas/PortDemarcationPoint' - additionalInfo: + enum: + - = + values: type: array - description: Physical Port additional information items: - $ref: '#/components/schemas/PortAdditionalInfo' - order: - $ref: '#/components/schemas/PortOrder' - operation: - $ref: '#/components/schemas/PortOperation' - loas: + type: string + PortExpressions: + type: array + items: + $ref: '#/components/schemas/PortExpression' + x-schema-name: PortExpressions + PortSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /project/projectId + - /settings/productCode + - /state + PortSortCriteria: + type: object + properties: + direction: + $ref: '#/components/schemas/PortSortDirection' + property: + $ref: '#/components/schemas/PortSortBy' + GetAllConnectionRouteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: type: array - description: Port Loas + description: List of Route Filters attached to a Connection items: - $ref: '#/components/schemas/PortLoa' - description: Physical Port specification - example: - demarcationPoint: null - tether: null - loas: - - href: http://example.com/aeiou - type: CTR_LOA - uuid: uuid - - href: http://example.com/aeiou - type: CTR_LOA - uuid: uuid - type: XF_PHYSICAL_PORT - interfaceType: interfaceType - additionalInfo: - - null - - null - id: 6 - href: http://example.com/aeiou - state: null - operation: null - account: null - interfaceSpeed: 0 - order: - orderNumber: orderNumber - orderId: orderId - signature: - delegate: - firstName: firstName - lastName: lastName - email: email - signatory: DELEGATE - purchaseOrder: - number: number - amount: amount - selectionType: EXEMPTION - endDate: endDate - attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - startDate: startDate - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - BulkPort: + $ref: '#/components/schemas/ConnectionRouteFilterData' + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: + - attachmentStatus: ATTACHING + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + direction: INBOUND + - attachmentStatus: ATTACHING + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + direction: INBOUND + RouteFilterId: + type: string + description: Route Filters UUID + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + ConnectionRouteFilterData: type: object properties: - data: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: + type: string + enum: + - ATTACHING + - ATTACHED + - DETACHED + - DETACHING + - FAILED + direction: + type: string + enum: + - INBOUND + - OUTBOUND + example: + attachmentStatus: ATTACHING + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + direction: INBOUND + ConnectionRouteFiltersBase: + type: object + properties: + direction: + type: string + description: Route Filter direction to attach to a connection + enum: + - INBOUND + - OUTBOUND + RouteFiltersBase: + type: object + properties: + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + project: + $ref: '#/components/schemas/Project' + notifications: type: array + description: Preferences for notifications on route filter configuration + or status changes items: - $ref: '#/components/schemas/Port' - description: Create bulk port request - BulkPhysicalPort: + $ref: '#/components/schemas/SimplifiedNotification' + example: + name: My-direct-route-1 + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: BGP_IPv4_PREFIX_FILTER + notifications: + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + RouteFiltersData: type: object properties: - data: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + state: + $ref: '#/components/schemas/RouteFilterState' + change: + $ref: '#/components/schemas/RouteFiltersChange' + notMatchedRuleAction: + type: string + enum: + - ALLOW + - DENY + connectionsCount: + type: integer + example: 0 + project: + allOf: + - $ref: '#/components/schemas/Project' + - type: object + properties: + href: + type: string + description: Project URI + format: uri + example: https://api.equinix.com/resourceManager/v1/projects/567 + notifications: type: array - description: add physical ports to virtual port + description: Preferences for notifications on route filter configuration + or status changes items: - $ref: '#/components/schemas/PhysicalPort' - description: Add to Lag request - AllPhysicalPortsResponse: + $ref: '#/components/schemas/SimplifiedNotification' + changelog: + $ref: '#/components/schemas/Changelog' + example: + change: + href: http://example.com/aeiou + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: uuid + name: My-direct-route-1 + description: description + project: "" + changelog: + createdByEmail: john.smith@example.com + deletedByFullName: John Smith + updatedBy: johnsmith + createdBy: johnsmith + updatedByEmail: john.smith@example.com + createdByFullName: John Smith + createdDateTime: 2020-11-06T07:00:00Z + deletedDateTime: 2020-11-06T07:00:00Z + updatedByFullName: John Smith + deletedBy: johnsmith + deletedByEmail: john.smith@example.com + updatedDateTime: 2020-11-06T07:00:00Z + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + state: PROVISIONING + type: BGP_IPv4_PREFIX_FILTER + notMatchedRuleAction: ALLOW + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + connectionsCount: 0 + notifications: + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + RouteFiltersPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters request + items: + $ref: '#/components/schemas/ConnectionChangeOperation' + RouteFilterChangeDataResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' data: type: array - description: GET All Physical Ports items: - $ref: '#/components/schemas/PhysicalPort' - description: GET All Physical Ports + $ref: '#/components/schemas/RouteFilterChangeData' + description: List of Route Filter changes example: pagination: next: next @@ -10849,90 +13252,150 @@ components: previous: previous limit: 0 data: - - demarcationPoint: null - tether: null - loas: - - href: http://example.com/aeiou - type: CTR_LOA - uuid: uuid - - href: http://example.com/aeiou - type: CTR_LOA - uuid: uuid - type: XF_PHYSICAL_PORT - interfaceType: interfaceType - additionalInfo: - - null - - null - id: 6 - href: http://example.com/aeiou - state: null - operation: null - account: null - interfaceSpeed: 0 - order: - orderNumber: orderNumber - orderId: orderId - signature: - delegate: - firstName: firstName - lastName: lastName - email: email - signatory: DELEGATE - purchaseOrder: - number: number - amount: amount - selectionType: EXEMPTION - endDate: endDate - attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - startDate: startDate - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - - demarcationPoint: null - tether: null - loas: - - href: http://example.com/aeiou - type: CTR_LOA - uuid: uuid - - href: http://example.com/aeiou - type: CTR_LOA - uuid: uuid - type: XF_PHYSICAL_PORT - interfaceType: interfaceType - additionalInfo: - - null - - null - id: 6 - href: http://example.com/aeiou - state: null - operation: null - account: null - interfaceSpeed: 0 - order: - orderNumber: orderNumber - orderId: orderId - signature: - delegate: - firstName: firstName - lastName: lastName - email: email - signatory: DELEGATE - purchaseOrder: - number: number - amount: amount - selectionType: EXEMPTION - endDate: endDate - attachmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - startDate: startDate - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - LinkProtocolGetResponse: + - updatedBy: updatedBy + data: + op: add + path: / + value: + name: My-direct-route-1 + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: BGP_IPv4_PREFIX_FILTER + notifications: + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + createdBy: createdBy + createdDateTime: 2000-01-23T04:56:07.000+00:00 + information: information + status: COMPLETED + updatedDateTime: 2000-01-23T04:56:07.000+00:00 + - updatedBy: updatedBy + data: + op: add + path: / + value: + name: My-direct-route-1 + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: BGP_IPv4_PREFIX_FILTER + notifications: + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + createdBy: createdBy + createdDateTime: 2000-01-23T04:56:07.000+00:00 + information: information + status: COMPLETED + updatedDateTime: 2000-01-23T04:56:07.000+00:00 + ChangeId_1: + type: string + description: Route Filters Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: '#/components/schemas/RouteFiltersChangeOperation' + description: Current state of latest Route Filter change + example: + updatedBy: updatedBy + data: + op: add + path: / + value: + name: My-direct-route-1 + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: BGP_IPv4_PREFIX_FILTER + notifications: + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + createdBy: createdBy + createdDateTime: 2000-01-23T04:56:07.000+00:00 + information: information + status: COMPLETED + updatedDateTime: 2000-01-23T04:56:07.000+00:00 + allOf: + - $ref: '#/components/schemas/RouteFiltersChange' + GetRouteFilterGetConnectionsResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' data: type: array + description: List of Connections using a Route Filter items: - $ref: '#/components/schemas/LinkProtocolResponse' - description: List of Vlans + $ref: '#/components/schemas/RouteFilterConnectionsData' example: pagination: next: next @@ -10941,9 +13404,41 @@ components: previous: previous limit: 0 data: - - vlanTag: 20 - vlanCTag: 20 - changeLog: + - name: connection-1 + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: EVPL_VC + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + - name: connection-1 + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: EVPL_VC + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + GetRouteFilterRulesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + description: List of Route Filter Rules + items: + $ref: '#/components/schemas/RouteFilterRulesData' + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: + - prefix: 192.168.0.0/24 + change: + href: http://example.com/aeiou + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: uuid + name: Private-subnet-filter-2 + description: description + action: PERMIT + changelog: createdByEmail: john.smith@example.com deletedByFullName: John Smith updatedBy: johnsmith @@ -10956,36 +13451,19 @@ components: deletedBy: johnsmith deletedByEmail: john.smith@example.com updatedDateTime: 2020-11-06T07:00:00Z - type: UNTAGGED - vlanSTag: 20 - vlanCTagMin: 20 - uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 - vlanTagMin: 20 - subInterface: - unit: 200 - name: name - type: VNI - additionalInfo: - - value: value - key: key - - value: value - key: key - connection: - bandwidth: 100 - href: http://example.com/aeiou - type: EVPL_VC - uuid: cd67f685-41b0-1b07-6de0-320a5c00abe - state: RESERVED - vlanTagMax: 200 - serviceToken: - bandwidth: 1000 + prefixMatch: exact + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + - prefix: 192.168.0.0/24 + change: href: http://example.com/aeiou - type: TOKEN - uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe - vlanCTagMax: 200 - - vlanTag: 20 - vlanCTag: 20 - changeLog: + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: uuid + name: Private-subnet-filter-2 + description: description + action: PERMIT + changelog: createdByEmail: john.smith@example.com deletedByFullName: John Smith updatedBy: johnsmith @@ -10998,81 +13476,199 @@ components: deletedBy: johnsmith deletedByEmail: john.smith@example.com updatedDateTime: 2020-11-06T07:00:00Z - type: UNTAGGED - vlanSTag: 20 - vlanCTagMin: 20 - uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 - vlanTagMin: 20 - subInterface: - unit: 200 - name: name - type: VNI - additionalInfo: - - value: value - key: key - - value: value - key: key - connection: - bandwidth: 100 - href: http://example.com/aeiou - type: EVPL_VC - uuid: cd67f685-41b0-1b07-6de0-320a5c00abe - state: RESERVED - vlanTagMax: 200 - serviceToken: - bandwidth: 1000 - href: http://example.com/aeiou - type: TOKEN - uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe - vlanCTagMax: 200 - PortV4SearchRequest: + prefixMatch: exact + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRulesBase: + type: object + properties: + name: + type: string + example: Private-subnet-filter + description: + type: string + description: Customer-provided Route Filter Rule description + prefix: + type: string + example: 192.168.0.0/24 + prefixMatch: + type: string + example: orlonger + default: orlonger + RouteFilterRulesData: + type: object + properties: + href: + type: string + description: Route Filter Rules URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER_RULE + - BGP_IPv6_PREFIX_FILTER_RULE + uuid: + type: string + description: Route Filter Rule identifier + format: uuid + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: + type: string + example: Private-subnet-filter-2 + description: + type: string + description: Customer-provided Route Filter Rule description + prefixMatch: + type: string + description: prefix matching operator + example: exact + default: orlonger + change: + $ref: '#/components/schemas/RouteFilterRulesChange' + action: + type: string + enum: + - PERMIT + - DENY + prefix: + type: string + example: 192.168.0.0/24 + changelog: + $ref: '#/components/schemas/Changelog' + example: + prefix: 192.168.0.0/24 + change: + href: http://example.com/aeiou + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: uuid + name: Private-subnet-filter-2 + description: description + action: PERMIT + changelog: + createdByEmail: john.smith@example.com + deletedByFullName: John Smith + updatedBy: johnsmith + createdBy: johnsmith + updatedByEmail: john.smith@example.com + createdByFullName: John Smith + createdDateTime: 2020-11-06T07:00:00Z + deletedDateTime: 2020-11-06T07:00:00Z + updatedByFullName: John Smith + deletedBy: johnsmith + deletedByEmail: john.smith@example.com + updatedDateTime: 2020-11-06T07:00:00Z + prefixMatch: exact + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRuleId: + type: string + description: Route Filter Rule UUID + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRulesPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters Rule request + items: + $ref: '#/components/schemas/RouteFilterChangePrefixMatch' + RouteFilterRulesChangeDataResponse: type: object properties: - filter: - $ref: '#/components/schemas/PortExpression' pagination: - $ref: '#/components/schemas/PaginationRequest' - sort: + $ref: '#/components/schemas/Pagination' + data: type: array items: - $ref: '#/components/schemas/PortSortCriteria' - description: Search requests containing criteria - PortExpression: + $ref: '#/components/schemas/RouteFilterRulesChangeData' + description: List of Route Filter Rule changes + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: + - updatedBy: updatedBy + data: + prefix: prefix + name: Private-subnet-filter + description: description + action: PERMIT + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + createdBy: createdBy + createdDateTime: 2000-01-23T04:56:07.000+00:00 + status: COMPLETED + updatedDateTime: 2000-01-23T04:56:07.000+00:00 + - updatedBy: updatedBy + data: + prefix: prefix + name: Private-subnet-filter + description: description + action: PERMIT + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + createdBy: createdBy + createdDateTime: 2000-01-23T04:56:07.000+00:00 + status: COMPLETED + updatedDateTime: 2000-01-23T04:56:07.000+00:00 + ChangeId_2: + type: string + description: Route Filter Rule Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterRulesChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + data: + $ref: '#/components/schemas/RouteFilterRulesChangeOperation' + description: Current state of latest Route Filter Rules change + example: + updatedBy: updatedBy + data: + prefix: prefix + name: Private-subnet-filter + description: description + action: PERMIT + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + createdBy: createdBy + createdDateTime: 2000-01-23T04:56:07.000+00:00 + status: COMPLETED + updatedDateTime: 2000-01-23T04:56:07.000+00:00 + allOf: + - $ref: '#/components/schemas/RouteFilterRulesChange' + RouteFilterRulesPostRequest: type: object properties: - and: - $ref: '#/components/schemas/PortExpressions' - or: - $ref: '#/components/schemas/PortExpressions' - property: - $ref: '#/components/schemas/PortSearchFieldName' - operator: - type: string - enum: - - = - values: + data: type: array + description: Route Filter Rule configuration items: - type: string - PortExpressions: - type: array - items: - $ref: '#/components/schemas/PortExpression' - x-schema-name: PortExpressions - PortSearchFieldName: - type: string - description: Possible field names to use on filters - enum: - - /project/projectId - - /settings/productCode - - /state - PortSortCriteria: - type: object - properties: - direction: - $ref: '#/components/schemas/PortSortDirection' - property: - $ref: '#/components/schemas/PortSortBy' + $ref: '#/components/schemas/RouteFilterRulesBase' + description: Create Route Filter Rule POST request CloudRouterPostRequest: type: object properties: @@ -11412,12 +14008,12 @@ components: state: ACTIVE type: IPv4_BGP_ROUTE age: PT5M30S - ValidateSubnetRequest: + ValidateRequest: type: object properties: filter: - $ref: '#/components/schemas/ValidateSubnetRequest_filter' - description: Validate subnet for Routing Protocol Configuration + $ref: '#/components/schemas/ValidateRequest_filter' + description: Validate connection auth api key or vlan ValidateSubnetResponse: type: object properties: @@ -11653,7 +14249,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM CloudRouterPackage: type: object @@ -11782,12 +14378,6 @@ components: href: href state: state version: version - ValidateConnectionRequest: - type: object - properties: - filter: - $ref: '#/components/schemas/ValidateSubnetRequest_filter' - description: Validate connection auth api key or vlan ConnectionResponse: type: object properties: @@ -11940,6 +14530,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -11949,6 +14540,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -11962,9 +14554,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -11992,6 +14585,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -12171,10 +14767,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -12414,6 +15010,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -12423,6 +15020,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -12436,9 +15034,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -12466,6 +15065,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -12645,10 +15247,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -13145,6 +15747,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -13154,6 +15757,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -13167,9 +15771,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -13197,6 +15802,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -13376,10 +15984,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -13619,6 +16227,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -13628,6 +16237,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -13641,9 +16251,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -13671,6 +16282,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -13850,10 +16464,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -14001,7 +16615,7 @@ components: uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 status: APPROVED updatedDateTime: 2020-11-06T07:00:00Z - ChangeId_1: + ChangeId_3: type: string description: Network Change UUID format: uuid @@ -14062,7 +16676,7 @@ components: title: precisionTimeServiceResponse required: - href - - ipv4 + - networkingIpv4 - package - state - type @@ -14110,7 +16724,7 @@ components: description: fabric l2 connections used for the ept service items: $ref: '#/components/schemas/fabricConnectionUuid' - ipv4: + networkingIpv4: $ref: '#/components/schemas/ipv4' account: $ref: '#/components/schemas/account' @@ -14184,7 +16798,7 @@ components: href: https://api.equinix.com/fabric/v4/routerPackages/LAB vcCountMax: 10 routeFilterSupported: true - ipv4: + networkingIpv4: primary: 10.0.0.1 secondary: 10.0.0.2 networkMask: 255.255.255.240 @@ -14220,7 +16834,7 @@ components: type: string description: path inside document leading to updated parameter enum: - - /ipv4 + - /networkingIpv4 - /name - /advanceConfiguration/ntp - /advanceConfiguration/ptp @@ -14233,8 +16847,8 @@ components: title: precisionTimeServiceRequest required: - connections - - ipv4 - name + - networkingIpv4 - package - type type: object @@ -14255,7 +16869,7 @@ components: type: array items: $ref: '#/components/schemas/fabricConnectionUuid' - ipv4: + networkingIpv4: $ref: '#/components/schemas/ipv4' advanceConfiguration: $ref: '#/components/schemas/advanceConfiguration' @@ -14636,6 +17250,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -14645,6 +17260,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -14658,9 +17274,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -14688,6 +17305,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -14867,10 +17487,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion Project: required: @@ -15351,6 +17971,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -15360,6 +17981,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -15373,9 +17995,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -15403,6 +18026,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -15582,10 +18208,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion BGPConnectionIpv4: required: @@ -16522,61 +19148,258 @@ components: $ref: '#/components/schemas/Changelog' description: Link Protocol response example: - vlanTag: 20 - vlanCTag: 20 - changeLog: - createdByEmail: john.smith@example.com - deletedByFullName: John Smith - updatedBy: johnsmith - createdBy: johnsmith - updatedByEmail: john.smith@example.com - createdByFullName: John Smith - createdDateTime: 2020-11-06T07:00:00Z - deletedDateTime: 2020-11-06T07:00:00Z - updatedByFullName: John Smith - deletedBy: johnsmith - deletedByEmail: john.smith@example.com - updatedDateTime: 2020-11-06T07:00:00Z - type: UNTAGGED - vlanSTag: 20 - vlanCTagMin: 20 - uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 - vlanTagMin: 20 - subInterface: - unit: 200 - name: name - type: VNI - additionalInfo: - - value: value - key: key - - value: value - key: key - connection: - bandwidth: 100 - href: http://example.com/aeiou - type: EVPL_VC - uuid: cd67f685-41b0-1b07-6de0-320a5c00abe - state: RESERVED - vlanTagMax: 200 - serviceToken: - bandwidth: 1000 - href: http://example.com/aeiou - type: TOKEN - uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe - vlanCTagMax: 200 - PortSortDirection: - type: string - description: Sorting direction - default: DESC - enum: - - DESC - - ASC - PortSortBy: - type: string - description: Possible field names to use on sorting - default: /device/name - enum: - - /device/name + vlanTag: 20 + vlanCTag: 20 + changeLog: + createdByEmail: john.smith@example.com + deletedByFullName: John Smith + updatedBy: johnsmith + createdBy: johnsmith + updatedByEmail: john.smith@example.com + createdByFullName: John Smith + createdDateTime: 2020-11-06T07:00:00Z + deletedDateTime: 2020-11-06T07:00:00Z + updatedByFullName: John Smith + deletedBy: johnsmith + deletedByEmail: john.smith@example.com + updatedDateTime: 2020-11-06T07:00:00Z + type: UNTAGGED + vlanSTag: 20 + vlanCTagMin: 20 + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + vlanTagMin: 20 + subInterface: + unit: 200 + name: name + type: VNI + additionalInfo: + - value: value + key: key + - value: value + key: key + connection: + bandwidth: 100 + href: http://example.com/aeiou + type: EVPL_VC + uuid: cd67f685-41b0-1b07-6de0-320a5c00abe + state: RESERVED + vlanTagMax: 200 + serviceToken: + bandwidth: 1000 + href: http://example.com/aeiou + type: TOKEN + uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe + vlanCTagMax: 200 + PortSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + PortSortBy: + type: string + description: Possible field names to use on sorting + default: /device/name + enum: + - /device/name + RouteFilterState: + type: string + description: Route Filter status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFiltersChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_UPDATE + - BGP_IPv4_PREFIX_FILTER_CREATION + - BGP_IPv4_PREFIX_FILTER_DELETION + - BGP_IPv6_PREFIX_FILTER_UPDATE + - BGP_IPv6_PREFIX_FILTER_CREATION + - BGP_IPv6_PREFIX_FILTER_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter change + example: + href: http://example.com/aeiou + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: uuid + RouteFiltersChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: '#/components/schemas/RouteFiltersBase' + description: Route Filter change operation data + example: + op: add + path: / + value: + name: My-direct-route-1 + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: BGP_IPv4_PREFIX_FILTER + notifications: + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - "" + - "" + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + RouteFilterConnectionsData: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: + $ref: '#/components/schemas/ConnectionType' + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: connection-1 + example: + name: connection-1 + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: EVPL_VC + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + RouteFilterRulesChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter Rule change + example: + href: http://example.com/aeiou + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: uuid + RouteFilterChangePrefixMatch: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /prefixMatch + value: + type: object + description: new value for updated parameter + description: Route Filter Rule change operation data + RouteFilterRulesChangeOperation: + required: + - action + - name + - prefix + - type + type: object + properties: + name: + type: string + description: name of route filter rule + example: Private-subnet-filter + description: + type: string + description: cust provided description + type: + type: string + description: type of filter rule + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + prefix: + type: string + description: given prefix (does not change) + action: + type: string + description: change to be made + enum: + - PERMIT + - DENY + description: Route Filter change operation data + example: + prefix: prefix + name: Private-subnet-filter + description: description + action: PERMIT + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE SimplifiedLocationWithoutIBX: required: - metroCode @@ -16617,7 +19440,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM description: Fabric Cloud Router Package Type CloudRouterAccessPointState: @@ -16783,7 +19606,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM PackageChangeLog: type: object @@ -17107,6 +19930,8 @@ components: providerConnectionId: type: string description: Provider assigned Connection Id + virtualNetwork: + $ref: '#/components/schemas/VirtualNetwork' description: Access point object example: providerConnectionId: providerConnectionId @@ -17190,6 +20015,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -17199,6 +20025,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -17212,9 +20039,10 @@ components: type: VD interface: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId network: change: href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 @@ -17242,6 +20070,9 @@ components: operation: equinixStatus: PROVISIONING account: null + virtualNetwork: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -17421,10 +20252,10 @@ components: account: null peeringType: PRIVATE linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion ConnectionCompanyProfile: type: object @@ -17967,6 +20798,7 @@ components: - SUBNET - CLOUD_ROUTER - NETWORK + - METAL_NETWORK SimplifiedPort: type: object properties: @@ -18233,10 +21065,10 @@ components: description: vlanCTag value specified for QINQ connections description: Connection link protocol Configuration example: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: UNTAGGED - vlanSTag: 3585 + vlanSTag: 3690 VirtualDevice: type: object properties: @@ -18271,28 +21103,32 @@ components: properties: href: type: string - description: Virtual Interface URI + description: Interface URI format: uri readOnly: true uuid: type: string - description: Equinix-assigned Virtual Device Interface identifier + description: Equinix-assigned Interface identifier format: uuid id: type: integer description: Interface id type: type: string - description: Virtual Device Interface type + description: Interface type enum: - CLOUD - NETWORK - description: Virtual Device Interface Information + projectId: + type: string + description: Interface Project ID + description: Interface Information example: href: http://example.com/aeiou - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId SimplifiedNetwork: required: - uuid @@ -18371,6 +21207,22 @@ components: - MICROSOFT - PUBLIC - MANUAL + VirtualNetwork: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Network identifier + format: uuid + description: Virtual Network Information + example: + href: http://example.com/aeiou + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 VirtualConnectionPriceConnectionType: type: string description: Virtual Connection type @@ -18548,6 +21400,7 @@ components: - DOT1Q - QINQ - EVPN_VXLAN + - VXLAN VirtualConnectionPriceAccessPointType: type: string description: Virtual Connection access point type @@ -18570,7 +21423,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM ConnectivitySourceType: type: string @@ -18613,11 +21466,13 @@ components: UNTAGGED: '#/components/schemas/LinkProtocolUntagged' DOT1Q: '#/components/schemas/LinkProtocolDot1q' QINQ: '#/components/schemas/LinkProtocolQinq' + VXLAN: '#/components/schemas/LinkProtocolVxlan' EVPN_VXLAN: '#/components/schemas/LinkProtocolEvpnVxlan' oneOf: - $ref: '#/components/schemas/LinkProtocolUntagged' - $ref: '#/components/schemas/LinkProtocolDot1q' - $ref: '#/components/schemas/LinkProtocolQinq' + - $ref: '#/components/schemas/LinkProtocolVxlan' - $ref: '#/components/schemas/LinkProtocolEvpnVxlan' LinkProtocolUntagged: type: object @@ -18681,6 +21536,19 @@ components: type: integer description: Subinterface identifier description: Connection link protocol configuration - QINQ + LinkProtocolVxlan: + required: + - vni + type: object + properties: + type: + $ref: '#/components/schemas/LinkProtocolType' + vni: + maximum: 16777215 + minimum: 4097 + type: integer + description: Virtual Network Identifier + description: Connection link protocol configuration - VXLAN LinkProtocolEvpnVxlan: required: - type5vni @@ -18721,7 +21589,7 @@ components: example: reason: reason property: property - ValidateSubnetRequest_filter_and: + ValidateRequest_filter_and: properties: property: type: string @@ -18734,13 +21602,13 @@ components: description: Values for the given property items: type: string - ValidateSubnetRequest_filter: + ValidateRequest_filter: type: object properties: and: type: array items: - $ref: '#/components/schemas/ValidateSubnetRequest_filter_and' + $ref: '#/components/schemas/ValidateRequest_filter_and' description: Filters PortOrder_purchaseOrder: type: object @@ -19405,38 +22273,6 @@ components: - type: ALL emails: - test@test.com - COLO2AWSSPwithDot1q-Secondary: - value: - type: EVPL_VC - name: Secondary-Aws - bandwidth: 1000 - redundancy: - group: e04db764-f865-470b-8394-d2efdd651577 - priority: SECONDARY - aSide: - accessPoint: - type: COLO - port: - uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d - linkProtocol: - type: DOT1Q - vlanTag: 1001 - order: - purchaseOrderNumber: po1234 - zSide: - accessPoint: - type: SP - profile: - type: L2_PROFILE - uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c - location: - metroCode: DC - sellerRegion: us-east-1 - authenticationKey: xxx-xxx-xxx - notifications: - - type: ALL - emails: - - test@test.com COLO2AzureSPwithDot1q-Primary: value: type: EVPL_VC @@ -20300,6 +23136,30 @@ components: - type: ALL emails: - test@test.com + Metal2Sp-Aws: + value: + type: EVPL_VC + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 ConnectionExample: value: href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 @@ -20873,6 +23733,48 @@ components: order: purchaseOrderNumber: "1122334" billingTier: Up to 50 MB + Metal2Sp-Aws-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + href: https://api.equinix.com/metal/v1/virtual-networks/a867f685-41b0-1b07-6de0-320a5c00abd + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + href: https://api.equinix.com/accountService/v1/accounts/123213 + accountNumber: 123213 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z createBulkGeneric: value: data: @@ -23919,7 +26821,7 @@ components: values: - LAB - BASIC - - PRO + - STANDARD - PREMIUM IpBlockProduct: value: @@ -26878,225 +29780,779 @@ components: LinkProtocolGetQinqResponseExample: value: pagination: - offset: 0 + offset: 0 + limit: 20 + total: 5 + data: + - type: QINQ + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + connection: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + connection: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanSTag: 1001 + vlanCTag: 1001 + connection: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + LinkProtocolGetDot1qResponseExample: + value: + pagination: + offset: 5 + limit: 20 + total: 40 + next: "/fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20," + previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + data: + - type: DOT1Q + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanTag: 200 + connection: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanTag: 257 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanTag: 250 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanTag: 240 + connection: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanTag: 240 + connection: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + LinkProtocolGetVlanRangeResponseExample: + value: + pagination: + offset: 5 limit: 20 - total: 5 + total: 40 + next: "/fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20," + previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 data: - - type: QINQ + - type: DOT1Q uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 state: RESERVED - vlanSTag: 1000 - vlanCTag: 500 + vlanTagMin: 177 + vlanTagMax: 179 connection: href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + bandwidth: 1000 changeLog: createdDateTime: 2020-05-21T10:30:00Z - - type: QINQ + - type: DOT1Q uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db state: RESERVED - vlanSTag: 1000 - vlanCTag: 500 + vlanTagMin: 177 + vlanTagMax: 179 serviceToken: href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + bandwidth: 1000 changeLog: createdDateTime: 2020-05-21T10:30:00Z - - type: QINQ + - type: DOT1Q uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 state: RESERVED - vlanSTag: 1000 - vlanCTag: 500 + vlanTagMin: 177 + vlanTagMax: 179 serviceToken: href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 bandwidth: 1000 changeLog: createdDateTime: 2020-05-21T10:30:00Z - - type: QINQ + - type: DOT1Q uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 state: RESERVED - vlanSTag: 1000 - vlanCTag: 500 + vlanTagMin: 177 + vlanTagMax: 179 connection: href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + bandwidth: 1000 changeLog: createdDateTime: 2020-05-21T10:30:00Z - - type: QINQ + - type: DOT1Q uuid: db812bba-94b8-43e6-8d9c-850f04350c3d state: RESERVED - vlanSTag: 1001 - vlanCTag: 1001 + vlanTagMin: 177 + vlanTagMax: 179 connection: href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + bandwidth: 1000 changeLog: createdDateTime: 2020-05-21T10:30:00Z updatedDateTime: 2020-05-21T10:30:00Z - LinkProtocolGetDot1qResponseExample: + "400_invalid_portId": + value: + - errorCode: EQ-3035202 + errorMessage: Unable to fetch port details + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: The uuid requested could not be found in system. Please try again + after sometime + additionalInfo: + property: portUuid + "403-port-access": + value: + - errorCode: EQ-3035002 + errorMessage: Access Forbidden + correlationId: UnAuthorized User- Cannot perform action + PortSearchByProjectId: + value: + filter: + or: + - and: + - operator: = + property: /project/projectId + values: + - 30ad25e2-53dc-11ed-bdc3-0242ac120002 + - operator: = + property: /state + values: + - ACTIVE + - operator: = + property: /settings/productCode + values: + - CX + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /device/name + direction: DESC + ConnectionRouteFiltersGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/52f7791a-fe90-49bc-8807-18b3d6eda566 + type: BGP_IPv6_PREFIX_FILTER + uuid: 52f7791a-fe90-49bc-8807-18b3d6eda566 + attachmentStatus: ATTACHED + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + type: BGP_IPv4_PREFIX_FILTER + uuid: 8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + attachmentStatus: ATTACHED + direction: OUTBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/65d74639-8f48-4e10-9684-45d364645e97 + type: BGP_IPv6_PREFIX_FILTER + uuid: 65d74639-8f48-4e10-9684-45d364645e97 + attachmentStatus: ATTACHED + direction: OUTBOUND + "400_route_filters": + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: type + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: name + - errorCode: EQ-3044002 + errorMessage: Connection already deleted + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: connectionId + - errorCode: EQ-3044003 + errorMessage: Route Filter is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: routeFilterId + - errorCode: EQ-3044003 + errorMessage: Connection is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: connectionId + AttachConnectionRouteFiltersResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: ATTACHING + direction: INBOUND + AttachConnectionRouteFilterInbound: + value: + direction: INBOUND + AttachConnectionRouteFilterOutbound: + value: + direction: OUTBOUND + "400_invalid_direction": + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: direction + "400_transient_state": + value: + - errorCode: EQ-3044008 + errorMessage: Cannot attach or detach Route Filter with Connection in transient + state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot attach or detach Route Filter with Connection in transient + state + DetachConnectionRouteFilterInboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + DetachConnectionRouteFilterOutboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: OUTBOUND + RouteFilterCreateBgpIpv4Prefix: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + type: ALL + emails: + - test@equinix.com + RouteFilterCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + UpdateRouteFilterIPv4: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4-update + description: Test filter update + project: + projectId: 789 + notifications: + - type: ALL + emails: + - test@equinix.com + RouteFilterIpv4ReplaceResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-update + description: Test filter update + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 789 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/c2ec84c5-6de6-4f5c-b506-3ce218630c31 + type: BGP_IPv4_PREFIX_FILTER_DELETION + uuid: c2ec84c5-6de6-4f5c-b506-3ce218630c31 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + "400_attached_connection": + value: + - errorCode: EQ-3044007 + errorMessage: Cannot delete Route Filter still attached to a Connection + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter still attached to a Connection + PatchRouteFilterName: + value: + - op: replace + path: /name + value: My-route-filter-v4-updated + RouteFilterNamePatchResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-updated + description: Test filter + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + "400_invalid_operation": + value: + - errorCode: EQ-3044011 + errorMessage: Invalid Argument passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Only replace name operation is supported. + RouteFilterGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /name + value: My-route-filter-v4-updated + previousValue: My-route-filter-v4 + RouteFilterGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + RouteFilterGetConnectionsResponse: value: pagination: - offset: 5 + offset: 0 limit: 20 - total: 40 - next: "/fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20," - previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + total: 1 + next: null + previous: null data: - - type: DOT1Q - uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 - state: RESERVED - vlanTag: 200 - connection: - href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee - uuid: cd67f685-41b0-1b07-6de0-320a5c00abee - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db - state: RESERVED - vlanTag: 257 - serviceToken: - href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f - uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 - state: RESERVED - vlanTag: 250 - serviceToken: - href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 - uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 - state: RESERVED - vlanTag: 240 - connection: - href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 - uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: db812bba-94b8-43e6-8d9c-850f04350c3d - state: RESERVED - vlanTag: 240 - connection: - href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 - uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - updatedDateTime: 2020-05-21T10:30:00Z - LinkProtocolGetVlanRangeResponseExample: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: IP_VC + name: test-connection + uuid: 05de355a-6c9d-4636-8d7d-7b7595821c15 + RouteFilterRulesGetAll: value: pagination: - offset: 5 + offset: 0 limit: 20 - total: 40 - next: "/fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20," - previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + total: 2 + next: null + previous: null data: - - type: DOT1Q - uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 - state: RESERVED - vlanTagMin: 177 - vlanTagMax: 179 - connection: - href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee - uuid: cd67f685-41b0-1b07-6de0-320a5c00abee - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db - state: RESERVED - vlanTagMin: 177 - vlanTagMax: 179 - serviceToken: - href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f - uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 - state: RESERVED - vlanTagMin: 177 - vlanTagMax: 179 - serviceToken: - href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 - uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 - bandwidth: 1000 - changeLog: - createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 - state: RESERVED - vlanTagMin: 177 - vlanTagMax: 179 - connection: - href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 - uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 - bandwidth: 1000 + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser createdDateTime: 2020-05-21T10:30:00Z - - type: DOT1Q - uuid: db812bba-94b8-43e6-8d9c-850f04350c3d - state: RESERVED - vlanTagMin: 177 - vlanTagMax: 179 - connection: - href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 - uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 - bandwidth: 1000 + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser createdDateTime: 2020-05-21T10:30:00Z - updatedDateTime: 2020-05-21T10:30:00Z - "400_invalid_portId": + RouteFilterRuleCreateBgpIpv4Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + RouteFilterRuleCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + UpdateRouteFilterRuleIPv4: + value: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT + RouteFilterRuleIpv4ReplaceResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + prefixMach: exact + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 192.168.0.0/24 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv4PrefixResponse: value: - - errorCode: EQ-3035202 - errorMessage: Unable to fetch port details + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv4_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 192.168.0.0/24 + prefixMach: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + "400_transient_filter": + value: + - errorCode: EQ-3044015 + errorMessage: "Cannot delete Route Filter Rule, Route Filter transient state" correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 - details: The uuid requested could not be found in system. Please try again - after sometime - additionalInfo: - property: portUuid - "403-port-access": + details: "Cannot delete Route Filter Rule, Route filter is in transient state" + PatchRouteFilterRulePrefixMatch: value: - - errorCode: EQ-3035002 - errorMessage: Access Forbidden - correlationId: UnAuthorized User- Cannot perform action - PortSearchByProjectId: + - op: replace + path: /prefixMatch + value: orlonger + RouteFilterRulesGetAllChangesResponseExample: value: - filter: - or: - - and: - - operator: = - property: /project/projectId - values: - - 30ad25e2-53dc-11ed-bdc3-0242ac120002 - - operator: = - property: /state - values: - - ACTIVE - - operator: = - property: /settings/productCode - values: - - CX pagination: - limit: 25 offset: 0 - total: 0 - sort: - - property: /device/name - direction: DESC + limit: 20 + total: 3 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a40085a4-f0cc-416c-af01-286f7f7ec736 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a40085a4-f0cc-416c-af01-286f7f7ec736 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: orlonger + previousValue: exact + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: exact + previousValue: orlonger + RouteFilterRuleGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT CreateLabPackage: value: type: XF_ROUTER @@ -27113,14 +30569,14 @@ components: accountNumber: 272010 project: projectId: "995072000433550" - CreateProPackage: + CreateStandardPackage: value: type: XF_ROUTER name: My-Cloud-Router location: metroCode: SV package: - code: PRO + code: STANDARD notifications: - type: ALL emails: @@ -27140,7 +30596,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -27176,7 +30632,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -27241,7 +30697,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -27274,13 +30730,6 @@ components: deletedByFullName: abc deletedByEmail: abc@xyz.com deletedDateTime: 2021-09-24T06:59:46Z - "400_invalid_operation": - value: - - errorCode: EQ-3040054 - errorMessage: Invalid Argument passed - correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 - details: "Only replace name, replace package and replace notifications operations\ - \ are supported." CloudRouterActionResponse: value: type: ROUTE_TABLE_ENTRY_UPDATE @@ -27405,8 +30854,8 @@ components: value: - errorCode: EQ-2041022 errorMessage: The provided subnet is not valid. - details: The provided subnet is overlapping to other connection in the same - FCR. + details: The provided subnet is overlapping with other connections in the + same Fabric Cloud Router. correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 SearchFilterByNameAndMetroName: value: @@ -27448,7 +30897,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -27480,7 +30929,7 @@ components: pagination: offset: 0 limit: 20 - total: 1 + total: 2 data: - href: https://api.equinix.com/fabric/v4/routerPackages/LAB type: ROUTER_PACKAGE @@ -27501,6 +30950,25 @@ components: changeLog: createdDateTime: 2022-02-10T00:14:47Z updatedDateTime: 2022-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/STANDARD + type: ROUTER_PACKAGE + code: STANDARD + description: string + totalIPv4RoutesMax: 1000 + totalIPv6RoutesMax: 100 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 10000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z healthResponse: value: href: null @@ -28333,9 +31801,9 @@ components: - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicesPackages/NTP_STANDARD code: NTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -28591,7 +32059,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: NTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -28604,7 +32072,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -28617,7 +32085,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -28651,30 +32119,44 @@ components: limit: 20 total: 4 data: - - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 1 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + accuracyUnit: millisecond clientsPerSecondMax: 2000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_ENTERPRISE code: NTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 5 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + accuracyUnit: millisecond clientsPerSecondMax: 1000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/PTP_STANDARD code: PTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 5 + bandwidthUnit: Mbps + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true @@ -28685,6 +32167,10 @@ components: code: PTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 10 + bandwidthUnit: Mbps + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 20 redundancySupported: true multiSubnetSupported: true @@ -28697,6 +32183,11 @@ components: code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 10 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true diff --git a/docs/AccessPoint.md b/docs/AccessPoint.md index c56fda4..269194e 100644 --- a/docs/AccessPoint.md +++ b/docs/AccessPoint.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **PeeringType** | [***PeeringType**](PeeringType.md) | | [optional] [default to null] **AuthenticationKey** | **string** | Access point authentication key | [optional] [default to null] **ProviderConnectionId** | **string** | Provider assigned Connection Id | [optional] [default to null] +**VirtualNetwork** | [***VirtualNetwork**](VirtualNetwork.md) | | [optional] [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AllOfRouteFiltersDataProject.md b/docs/AllOfRouteFiltersDataProject.md new file mode 100644 index 0000000..81bd6aa --- /dev/null +++ b/docs/AllOfRouteFiltersDataProject.md @@ -0,0 +1,10 @@ +# AllOfRouteFiltersDataProject + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ProjectId** | **string** | Subscriber-assigned project ID | [default to null] +**Href** | **string** | Project URI | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConnectionRouteFilterData.md b/docs/ConnectionRouteFilterData.md new file mode 100644 index 0000000..99f72b0 --- /dev/null +++ b/docs/ConnectionRouteFilterData.md @@ -0,0 +1,13 @@ +# ConnectionRouteFilterData + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Href** | **string** | Route Filter URI | [optional] [default to null] +**Type_** | **string** | Route Filter type | [optional] [default to null] +**Uuid** | **string** | Route Filter identifier | [optional] [default to null] +**AttachmentStatus** | **string** | | [optional] [default to null] +**Direction** | **string** | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ValidateSubnetRequest.md b/docs/ConnectionRouteFiltersBase.md similarity index 66% rename from docs/ValidateSubnetRequest.md rename to docs/ConnectionRouteFiltersBase.md index 9055dbb..e1b4ce8 100644 --- a/docs/ValidateSubnetRequest.md +++ b/docs/ConnectionRouteFiltersBase.md @@ -1,9 +1,9 @@ -# ValidateSubnetRequest +# ConnectionRouteFiltersBase ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Filter** | [***ValidateSubnetRequestFilter**](ValidateSubnetRequest_filter.md) | | [optional] [default to null] +**Direction** | **string** | Route Filter direction to attach to a connection | [optional] [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ConnectionsApi.md b/docs/ConnectionsApi.md index 1435973..ff3ff57 100644 --- a/docs/ConnectionsApi.md +++ b/docs/ConnectionsApi.md @@ -201,7 +201,7 @@ This API provides capability to validate by auth key Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. - **body** | [**ValidateConnectionRequest**](ValidateConnectionRequest.md)| | + **body** | [**ValidateRequest**](ValidateRequest.md)| | ### Return type diff --git a/docs/GetAllConnectionRouteFiltersResponse.md b/docs/GetAllConnectionRouteFiltersResponse.md new file mode 100644 index 0000000..70619c9 --- /dev/null +++ b/docs/GetAllConnectionRouteFiltersResponse.md @@ -0,0 +1,10 @@ +# GetAllConnectionRouteFiltersResponse + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] +**Data** | [**[]ConnectionRouteFilterData**](ConnectionRouteFilterData.md) | List of Route Filters attached to a Connection | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/GetRouteFilterGetConnectionsResponse.md b/docs/GetRouteFilterGetConnectionsResponse.md new file mode 100644 index 0000000..44486c4 --- /dev/null +++ b/docs/GetRouteFilterGetConnectionsResponse.md @@ -0,0 +1,10 @@ +# GetRouteFilterGetConnectionsResponse + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] +**Data** | [**[]RouteFilterConnectionsData**](RouteFilterConnectionsData.md) | List of Connections using a Route Filter | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/GetRouteFilterRulesResponse.md b/docs/GetRouteFilterRulesResponse.md new file mode 100644 index 0000000..ff9da68 --- /dev/null +++ b/docs/GetRouteFilterRulesResponse.md @@ -0,0 +1,10 @@ +# GetRouteFilterRulesResponse + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] +**Data** | [**[]RouteFilterRulesData**](RouteFilterRulesData.md) | List of Route Filter Rules | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/LinkProtocolVxlan.md b/docs/LinkProtocolVxlan.md new file mode 100644 index 0000000..c990b5a --- /dev/null +++ b/docs/LinkProtocolVxlan.md @@ -0,0 +1,10 @@ +# LinkProtocolVxlan + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Type_** | [***LinkProtocolType**](LinkProtocolType.md) | | [optional] [default to null] +**Vni** | **int32** | Virtual Network Identifier | [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ModelInterface.md b/docs/ModelInterface.md index 43fa1f0..f891841 100644 --- a/docs/ModelInterface.md +++ b/docs/ModelInterface.md @@ -3,10 +3,11 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Href** | **string** | Virtual Interface URI | [optional] [default to null] -**Uuid** | **string** | Equinix-assigned Virtual Device Interface identifier | [optional] [default to null] +**Href** | **string** | Interface URI | [optional] [default to null] +**Uuid** | **string** | Equinix-assigned Interface identifier | [optional] [default to null] **Id** | **int32** | Interface id | [optional] [default to null] -**Type_** | **string** | Virtual Device Interface type | [optional] [default to null] +**Type_** | **string** | Interface type | [optional] [default to null] +**ProjectId** | **string** | Interface Project ID | [optional] [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PrecisionTimeApi.md b/docs/PrecisionTimeApi.md index ea37fc8..34a5077 100644 --- a/docs/PrecisionTimeApi.md +++ b/docs/PrecisionTimeApi.md @@ -4,17 +4,17 @@ All URIs are relative to *https://api.equinix.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**CreateTimeServices**](PrecisionTimeApi.md#CreateTimeServices) | **Post** /fabric/v4/timeServices | Create Time Service -[**DeleteTimeServiceById**](PrecisionTimeApi.md#DeleteTimeServiceById) | **Delete** /fabric/v4/timeServices/{serviceId} | Delete Time Service -[**GetTimeServicesById**](PrecisionTimeApi.md#GetTimeServicesById) | **Get** /fabric/v4/timeServices/{serviceId} | Get Time Service -[**GetTimeServicesConnectionsByServiceId**](PrecisionTimeApi.md#GetTimeServicesConnectionsByServiceId) | **Get** /fabric/v4/timeServices/{serviceId}/connections | Get all Connections -[**GetTimeServicesPackageByCode**](PrecisionTimeApi.md#GetTimeServicesPackageByCode) | **Get** /fabric/v4/timeServicePackages/{packageCode} | Get Package by Code -[**GetTimeServicesPackages**](PrecisionTimeApi.md#GetTimeServicesPackages) | **Get** /fabric/v4/timeServicePackages | Get Packages -[**UpdateTimeServicesById**](PrecisionTimeApi.md#UpdateTimeServicesById) | **Patch** /fabric/v4/timeServices/{serviceId} | Patch Time Service +[**CreateTimeServices**](PrecisionTimeApi.md#CreateTimeServices) | **Post** /fabric/v4/timeServices | Create time service +[**DeleteTimeServiceById**](PrecisionTimeApi.md#DeleteTimeServiceById) | **Delete** /fabric/v4/timeServices/{serviceId} | Delete time service +[**GetTimeServicesById**](PrecisionTimeApi.md#GetTimeServicesById) | **Get** /fabric/v4/timeServices/{serviceId} | Get time service +[**GetTimeServicesConnectionsByServiceId**](PrecisionTimeApi.md#GetTimeServicesConnectionsByServiceId) | **Get** /fabric/v4/timeServices/{serviceId}/connections | Get Conn Links +[**GetTimeServicesPackageByCode**](PrecisionTimeApi.md#GetTimeServicesPackageByCode) | **Get** /fabric/v4/timeServicesPackages/{packageCode} | Get package by Code +[**GetTimeServicesPackages**](PrecisionTimeApi.md#GetTimeServicesPackages) | **Get** /fabric/v4/timeServicesPackages | Get Packages +[**UpdateTimeServicesById**](PrecisionTimeApi.md#UpdateTimeServicesById) | **Patch** /fabric/v4/timeServices/{serviceId} | Patch time service # **CreateTimeServices** > PrecisionTimeServiceCreateResponse CreateTimeServices(ctx, body) -Create Time Service +Create time service The API provides capability to create timing service @@ -42,7 +42,7 @@ Name | Type | Description | Notes # **DeleteTimeServiceById** > PrecisionTimeServiceCreateResponse DeleteTimeServiceById(ctx, serviceId) -Delete Time Service +Delete time service Delete EPT service by it's uuid @@ -70,9 +70,9 @@ Name | Type | Description | Notes # **GetTimeServicesById** > PrecisionTimeServiceCreateResponse GetTimeServicesById(ctx, serviceId) -Get Time Service +Get time service -The API provides capability to get precision timing service's details +The API provides capability to get prevision timing service's details ### Required Parameters @@ -98,7 +98,7 @@ Name | Type | Description | Notes # **GetTimeServicesConnectionsByServiceId** > PrecisionTimeServiceConnectionsResponse GetTimeServicesConnectionsByServiceId(ctx, serviceId) -Get all Connections +Get Conn Links The API provides capability to get prevision timing service's details @@ -126,7 +126,7 @@ Name | Type | Description | Notes # **GetTimeServicesPackageByCode** > PackageResponse GetTimeServicesPackageByCode(ctx, packageCode) -Get Package by Code +Get package by Code The API provides capability to get timing service's package by code @@ -178,7 +178,7 @@ This endpoint does not need any parameter. # **UpdateTimeServicesById** > PrecisionTimeServiceCreateResponse UpdateTimeServicesById(ctx, body, serviceId) -Patch Time Service +Patch time service The API provides capability to update timing service diff --git a/docs/PrecisionTimeServiceCreateResponse.md b/docs/PrecisionTimeServiceCreateResponse.md index 362de94..c5028b2 100644 --- a/docs/PrecisionTimeServiceCreateResponse.md +++ b/docs/PrecisionTimeServiceCreateResponse.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **State** | **string** | indicate service state | [default to null] **Package_** | [***PackageResponse**](PackageResponse.md) | | [default to null] **Connections** | [**[]FabricConnectionUuid**](fabricConnectionUuid.md) | fabric l2 connections used for the ept service | [optional] [default to null] -**Ipv4** | [***Ipv4**](ipv4.md) | | [default to null] +**NetworkingIpv4** | [***Ipv4**](ipv4.md) | | [default to null] **Account** | [***Account**](account.md) | | [optional] [default to null] **AdvanceConfiguration** | [***AdvanceConfiguration**](advanceConfiguration.md) | | [optional] [default to null] **Project** | [***Project**](Project.md) | | [optional] [default to null] diff --git a/docs/PrecisionTimeServiceRequest.md b/docs/PrecisionTimeServiceRequest.md index dab1ccc..22571ae 100644 --- a/docs/PrecisionTimeServiceRequest.md +++ b/docs/PrecisionTimeServiceRequest.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **Description** | **string** | | [optional] [default to null] **Package_** | [***PackageRequest**](packageRequest.md) | | [default to null] **Connections** | [**[]FabricConnectionUuid**](fabricConnectionUuid.md) | | [default to null] -**Ipv4** | [***Ipv4**](ipv4.md) | | [default to null] +**NetworkingIpv4** | [***Ipv4**](ipv4.md) | | [default to null] **AdvanceConfiguration** | [***AdvanceConfiguration**](advanceConfiguration.md) | | [optional] [default to null] **Project** | [***Project**](Project.md) | | [optional] [default to null] diff --git a/docs/RouteFilterChangeData.md b/docs/RouteFilterChangeData.md new file mode 100644 index 0000000..7b3a638 --- /dev/null +++ b/docs/RouteFilterChangeData.md @@ -0,0 +1,18 @@ +# RouteFilterChangeData + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Uuid** | **string** | Uniquely identifies a change | [default to null] +**Type_** | **string** | Type of change | [default to null] +**Href** | **string** | Route Filter Change URI | [optional] [default to null] +**Status** | **string** | Current outcome of the change flow | [optional] [default to null] +**CreatedBy** | **string** | Created by User Key | [optional] [default to null] +**CreatedDateTime** | [**time.Time**](time.Time.md) | Set when change flow starts | [optional] [default to null] +**UpdatedBy** | **string** | Updated by User Key | [optional] [default to null] +**UpdatedDateTime** | [**time.Time**](time.Time.md) | Set when change object is updated | [optional] [default to null] +**Information** | **string** | Additional information | [optional] [default to null] +**Data** | [***RouteFiltersChangeOperation**](RouteFiltersChangeOperation.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterChangeDataResponse.md b/docs/RouteFilterChangeDataResponse.md new file mode 100644 index 0000000..76c29e2 --- /dev/null +++ b/docs/RouteFilterChangeDataResponse.md @@ -0,0 +1,10 @@ +# RouteFilterChangeDataResponse + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] +**Data** | [**[]RouteFilterChangeData**](RouteFilterChangeData.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterChangePrefixMatch.md b/docs/RouteFilterChangePrefixMatch.md new file mode 100644 index 0000000..8b6fc70 --- /dev/null +++ b/docs/RouteFilterChangePrefixMatch.md @@ -0,0 +1,11 @@ +# RouteFilterChangePrefixMatch + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Op** | **string** | Handy shortcut for operation name | [default to null] +**Path** | **string** | path to change | [default to null] +**Value** | [***interface{}**](interface{}.md) | new value for updated parameter | [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterConnectionsData.md b/docs/RouteFilterConnectionsData.md new file mode 100644 index 0000000..61e4945 --- /dev/null +++ b/docs/RouteFilterConnectionsData.md @@ -0,0 +1,12 @@ +# RouteFilterConnectionsData + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Href** | **string** | Connection URI | [optional] [default to null] +**Type_** | [***ConnectionType**](ConnectionType.md) | | [optional] [default to null] +**Uuid** | **string** | Route Filter identifier | [optional] [default to null] +**Name** | **string** | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesApi.md b/docs/RouteFilterRulesApi.md new file mode 100644 index 0000000..5bfad6b --- /dev/null +++ b/docs/RouteFilterRulesApi.md @@ -0,0 +1,298 @@ +# {{classname}} + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**CreateRouteFilterRule**](RouteFilterRulesApi.md#CreateRouteFilterRule) | **Post** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | Create RFRule +[**CreateRouteFilterRulesInBulk**](RouteFilterRulesApi.md#CreateRouteFilterRulesInBulk) | **Post** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk | Bulk RFRules +[**DeleteRouteFilterRuleByUuid**](RouteFilterRulesApi.md#DeleteRouteFilterRuleByUuid) | **Delete** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | DeleteRFRule +[**GetRouteFilterRuleByUuid**](RouteFilterRulesApi.md#GetRouteFilterRuleByUuid) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | GetRFRule By UUID +[**GetRouteFilterRuleChangeByUuid**](RouteFilterRulesApi.md#GetRouteFilterRuleChangeByUuid) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId} | Get Change By ID +[**GetRouteFilterRuleChanges**](RouteFilterRulesApi.md#GetRouteFilterRuleChanges) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes | Get All Changes +[**GetRouteFilterRules**](RouteFilterRulesApi.md#GetRouteFilterRules) | **Get** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | GetRFRules +[**PatchRouteFilterRuleByUuid**](RouteFilterRulesApi.md#PatchRouteFilterRuleByUuid) | **Patch** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | PatchRFilterRule +[**ReplaceRouteFilterRuleByUuid**](RouteFilterRulesApi.md#ReplaceRouteFilterRuleByUuid) | **Put** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | ReplaceRFRule + +# **CreateRouteFilterRule** +> RouteFilterRulesData CreateRouteFilterRule(ctx, body, routeFilterId) +Create RFRule + +This API provides capability to create a Route Filter Rule + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **CreateRouteFilterRulesInBulk** +> GetRouteFilterRulesResponse CreateRouteFilterRulesInBulk(ctx, body, routeFilterId) +Bulk RFRules + +This API provides capability to create bulk route filter rules + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**RouteFilterRulesPostRequest**](RouteFilterRulesPostRequest.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**GetRouteFilterRulesResponse**](GetRouteFilterRulesResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **DeleteRouteFilterRuleByUuid** +> RouteFilterRulesData DeleteRouteFilterRuleByUuid(ctx, routeFilterId, routeFilterRuleId) +DeleteRFRule + +This API provides capability to delete a Route Filter Rule + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **routeFilterRuleId** | [**string**](.md)| Route Filter Rules Id | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterRuleByUuid** +> RouteFilterRulesData GetRouteFilterRuleByUuid(ctx, routeFilterId, routeFilterRuleId) +GetRFRule By UUID + +This API provides capability to view a Route Filter Rule by UUID + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **routeFilterRuleId** | [**string**](.md)| Route Filter Rules Id | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterRuleChangeByUuid** +> RouteFilterRulesChangeData GetRouteFilterRuleChangeByUuid(ctx, routeFilterId, routeFilterRuleId, changeId) +Get Change By ID + +This API provides capability to retrieve a specific Route Filter Rule's Changes + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **routeFilterRuleId** | [**string**](.md)| Route Filter Rules Id | + **changeId** | [**string**](.md)| Route Filter Rule Change UUID | + +### Return type + +[**RouteFilterRulesChangeData**](RouteFilterRulesChangeData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterRuleChanges** +> RouteFilterRulesChangeDataResponse GetRouteFilterRuleChanges(ctx, routeFilterId, routeFilterRuleId, optional) +Get All Changes + +This API provides capability to retrieve all of a Route Filter Rule's Changes + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **routeFilterRuleId** | [**string**](.md)| Route Filter Rules Id | + **optional** | ***RouteFilterRulesApiGetRouteFilterRuleChangesOpts** | optional parameters | nil if no parameters + +### Optional Parameters +Optional parameters are passed through a pointer to a RouteFilterRulesApiGetRouteFilterRuleChangesOpts struct +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + + **offset** | **optional.Int32**| offset | + **limit** | **optional.Int32**| number of records to fetch | + +### Return type + +[**RouteFilterRulesChangeDataResponse**](RouteFilterRulesChangeDataResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterRules** +> GetRouteFilterRulesResponse GetRouteFilterRules(ctx, routeFilterId, optional) +GetRFRules + +This API provides capability to get all Route Filters Rules for Fabric + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **optional** | ***RouteFilterRulesApiGetRouteFilterRulesOpts** | optional parameters | nil if no parameters + +### Optional Parameters +Optional parameters are passed through a pointer to a RouteFilterRulesApiGetRouteFilterRulesOpts struct +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + **offset** | **optional.Int32**| offset | + **limit** | **optional.Int32**| number of records to fetch | + +### Return type + +[**GetRouteFilterRulesResponse**](GetRouteFilterRulesResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **PatchRouteFilterRuleByUuid** +> RouteFiltersData PatchRouteFilterRuleByUuid(ctx, body, routeFilterId, routeFilterRuleId) +PatchRFilterRule + +This API provides capability to partially update a Route Filter Rule + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**[]RouteFilterChangePrefixMatch**](RouteFilterChangePrefixMatch.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + **routeFilterRuleId** | [**string**](.md)| Route Filter Rules Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **ReplaceRouteFilterRuleByUuid** +> RouteFilterRulesData ReplaceRouteFilterRuleByUuid(ctx, body, routeFilterId, routeFilterRuleId) +ReplaceRFRule + +This API provides capability to replace a Route Filter Rule completely + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + **routeFilterRuleId** | [**string**](.md)| Route Filter Rules Id | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesBase.md b/docs/RouteFilterRulesBase.md new file mode 100644 index 0000000..93bb86a --- /dev/null +++ b/docs/RouteFilterRulesBase.md @@ -0,0 +1,12 @@ +# RouteFilterRulesBase + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | | [optional] [default to null] +**Description** | **string** | Customer-provided Route Filter Rule description | [optional] [default to null] +**Prefix** | **string** | | [optional] [default to null] +**PrefixMatch** | **string** | | [optional] [default to orlonger] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesChange.md b/docs/RouteFilterRulesChange.md new file mode 100644 index 0000000..c1a8c41 --- /dev/null +++ b/docs/RouteFilterRulesChange.md @@ -0,0 +1,11 @@ +# RouteFilterRulesChange + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Uuid** | **string** | Uniquely identifies a change | [default to null] +**Type_** | **string** | Type of change | [default to null] +**Href** | **string** | Route Filter Change URI | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesChangeData.md b/docs/RouteFilterRulesChangeData.md new file mode 100644 index 0000000..5a8c0a6 --- /dev/null +++ b/docs/RouteFilterRulesChangeData.md @@ -0,0 +1,17 @@ +# RouteFilterRulesChangeData + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Uuid** | **string** | Uniquely identifies a change | [default to null] +**Type_** | **string** | Type of change | [default to null] +**Href** | **string** | Route Filter Change URI | [optional] [default to null] +**Status** | **string** | Current outcome of the change flow | [optional] [default to null] +**CreatedBy** | **string** | Created by User Key | [optional] [default to null] +**CreatedDateTime** | [**time.Time**](time.Time.md) | Set when change flow starts | [optional] [default to null] +**UpdatedBy** | **string** | Updated by User Key | [optional] [default to null] +**UpdatedDateTime** | [**time.Time**](time.Time.md) | Set when change object is updated | [optional] [default to null] +**Data** | [***RouteFilterRulesChangeOperation**](RouteFilterRulesChangeOperation.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesChangeDataResponse.md b/docs/RouteFilterRulesChangeDataResponse.md new file mode 100644 index 0000000..ba02032 --- /dev/null +++ b/docs/RouteFilterRulesChangeDataResponse.md @@ -0,0 +1,10 @@ +# RouteFilterRulesChangeDataResponse + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] +**Data** | [**[]RouteFilterRulesChangeData**](RouteFilterRulesChangeData.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesChangeOperation.md b/docs/RouteFilterRulesChangeOperation.md new file mode 100644 index 0000000..32d375e --- /dev/null +++ b/docs/RouteFilterRulesChangeOperation.md @@ -0,0 +1,13 @@ +# RouteFilterRulesChangeOperation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | name of route filter rule | [default to null] +**Description** | **string** | cust provided description | [optional] [default to null] +**Type_** | **string** | type of filter rule | [default to null] +**Prefix** | **string** | given prefix (does not change) | [default to null] +**Action** | **string** | change to be made | [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesData.md b/docs/RouteFilterRulesData.md new file mode 100644 index 0000000..4d9dc2e --- /dev/null +++ b/docs/RouteFilterRulesData.md @@ -0,0 +1,18 @@ +# RouteFilterRulesData + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Href** | **string** | Route Filter Rules URI | [optional] [default to null] +**Type_** | **string** | Route Filter type | [optional] [default to null] +**Uuid** | **string** | Route Filter Rule identifier | [optional] [default to null] +**Name** | **string** | | [optional] [default to null] +**Description** | **string** | Customer-provided Route Filter Rule description | [optional] [default to null] +**PrefixMatch** | **string** | prefix matching operator | [optional] [default to orlonger] +**Change** | [***RouteFilterRulesChange**](RouteFilterRulesChange.md) | | [optional] [default to null] +**Action** | **string** | | [optional] [default to null] +**Prefix** | **string** | | [optional] [default to null] +**Changelog** | [***Changelog**](Changelog.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFilterRulesPostRequest.md b/docs/RouteFilterRulesPostRequest.md new file mode 100644 index 0000000..a63b36b --- /dev/null +++ b/docs/RouteFilterRulesPostRequest.md @@ -0,0 +1,9 @@ +# RouteFilterRulesPostRequest + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Data** | [**[]RouteFilterRulesBase**](RouteFilterRulesBase.md) | Route Filter Rule configuration | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ValidateConnectionRequest.md b/docs/RouteFilterState.md similarity index 65% rename from docs/ValidateConnectionRequest.md rename to docs/RouteFilterState.md index 1622e9e..c9fccb2 100644 --- a/docs/ValidateConnectionRequest.md +++ b/docs/RouteFilterState.md @@ -1,9 +1,8 @@ -# ValidateConnectionRequest +# RouteFilterState ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Filter** | [***ValidateSubnetRequestFilter**](ValidateSubnetRequest_filter.md) | | [optional] [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RouteFiltersApi.md b/docs/RouteFiltersApi.md new file mode 100644 index 0000000..867da65 --- /dev/null +++ b/docs/RouteFiltersApi.md @@ -0,0 +1,371 @@ +# {{classname}} + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**AttachConnectionRouteFilter**](RouteFiltersApi.md#AttachConnectionRouteFilter) | **Put** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Attach Route Filter +[**CreateRouteFilter**](RouteFiltersApi.md#CreateRouteFilter) | **Post** /fabric/v4/routeFilters | Create Route Filters +[**DeleteRouteFilterByUuid**](RouteFiltersApi.md#DeleteRouteFilterByUuid) | **Delete** /fabric/v4/routeFilters/{routeFilterId} | Delete Route Filter +[**DetachConnectionRouteFilter**](RouteFiltersApi.md#DetachConnectionRouteFilter) | **Delete** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Detach Route Filter +[**GetConnectionRouteFilterByUuid**](RouteFiltersApi.md#GetConnectionRouteFilterByUuid) | **Get** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Get Route Filter +[**GetConnectionRouteFilters**](RouteFiltersApi.md#GetConnectionRouteFilters) | **Get** /fabric/v4/connections/{connectionId}/routeFilters | Get All RouteFilters +[**GetRouteFilterByUuid**](RouteFiltersApi.md#GetRouteFilterByUuid) | **Get** /fabric/v4/routeFilters/{routeFilterId} | Get Filter By UUID +[**GetRouteFilterChangeByUuid**](RouteFiltersApi.md#GetRouteFilterChangeByUuid) | **Get** /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId} | Get Change By ID +[**GetRouteFilterChanges**](RouteFiltersApi.md#GetRouteFilterChanges) | **Get** /fabric/v4/routeFilters/{routeFilterId}/changes | Get All Changes +[**GetRouteFilterConnections**](RouteFiltersApi.md#GetRouteFilterConnections) | **Get** /fabric/v4/routeFilters/{routeFilterId}/connections | Get Connections +[**PatchRouteFilterByUuid**](RouteFiltersApi.md#PatchRouteFilterByUuid) | **Patch** /fabric/v4/routeFilters/{routeFilterId} | Patch Route Filter +[**ReplaceRouteFilterByUuid**](RouteFiltersApi.md#ReplaceRouteFilterByUuid) | **Put** /fabric/v4/routeFilters/{routeFilterId} | Replace Route Filter + +# **AttachConnectionRouteFilter** +> ConnectionRouteFilterData AttachConnectionRouteFilter(ctx, body, routeFilterId, connectionId) +Attach Route Filter + +This API provides capability to attach a Route Filter to a Connection + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**ConnectionRouteFiltersBase**](ConnectionRouteFiltersBase.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + **connectionId** | [**string**](.md)| Connection Id | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **CreateRouteFilter** +> RouteFiltersData CreateRouteFilter(ctx, body) +Create Route Filters + +This API provides capability to create a Route Filter + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**RouteFiltersBase**](RouteFiltersBase.md)| | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **DeleteRouteFilterByUuid** +> RouteFiltersData DeleteRouteFilterByUuid(ctx, routeFilterId) +Delete Route Filter + +This API provides capability to delete a Route Filter + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **DetachConnectionRouteFilter** +> ConnectionRouteFilterData DetachConnectionRouteFilter(ctx, routeFilterId, connectionId) +Detach Route Filter + +This API provides capability to detach a Route Filter from a Connection + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **connectionId** | [**string**](.md)| Connection Id | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetConnectionRouteFilterByUuid** +> ConnectionRouteFilterData GetConnectionRouteFilterByUuid(ctx, routeFilterId, connectionId) +Get Route Filter + +This API provides capability to view a specific Route Filter attached to a Connection + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **connectionId** | [**string**](.md)| Connection Id | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetConnectionRouteFilters** +> GetAllConnectionRouteFiltersResponse GetConnectionRouteFilters(ctx, connectionId) +Get All RouteFilters + +This API provides capability to view all Route Filters attached to a Connection + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **connectionId** | [**string**](.md)| Connection Id | + +### Return type + +[**GetAllConnectionRouteFiltersResponse**](GetAllConnectionRouteFiltersResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterByUuid** +> RouteFiltersData GetRouteFilterByUuid(ctx, routeFilterId) +Get Filter By UUID + +This API provides capability to view a Route Filter by UUID + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterChangeByUuid** +> RouteFilterChangeData GetRouteFilterChangeByUuid(ctx, routeFilterId, changeId) +Get Change By ID + +This API provides capability to retrieve a specific Route Filter's Changes + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **changeId** | [**string**](.md)| Routing Protocol Change UUID | + +### Return type + +[**RouteFilterChangeData**](RouteFilterChangeData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterChanges** +> RouteFilterChangeDataResponse GetRouteFilterChanges(ctx, routeFilterId, optional) +Get All Changes + +This API provides capability to retrieve all of a Route Filter's Changes + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + **optional** | ***RouteFiltersApiGetRouteFilterChangesOpts** | optional parameters | nil if no parameters + +### Optional Parameters +Optional parameters are passed through a pointer to a RouteFiltersApiGetRouteFilterChangesOpts struct +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + **offset** | **optional.Int32**| offset | + **limit** | **optional.Int32**| number of records to fetch | + +### Return type + +[**RouteFilterChangeDataResponse**](RouteFilterChangeDataResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetRouteFilterConnections** +> GetRouteFilterGetConnectionsResponse GetRouteFilterConnections(ctx, routeFilterId) +Get Connections + +This API provides capability to view all Connections using the Route Filter + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**GetRouteFilterGetConnectionsResponse**](GetRouteFilterGetConnectionsResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **PatchRouteFilterByUuid** +> RouteFiltersData PatchRouteFilterByUuid(ctx, body, routeFilterId) +Patch Route Filter + +This API provides capability to partially update a Route Filter + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**[]ConnectionChangeOperation**](ConnectionChangeOperation.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **ReplaceRouteFilterByUuid** +> RouteFiltersData ReplaceRouteFilterByUuid(ctx, body, routeFilterId) +Replace Route Filter + +This API provides capability to replace a Route Filter completely + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **body** | [**RouteFiltersBase**](RouteFiltersBase.md)| | + **routeFilterId** | [**string**](.md)| Route Filters Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/RouteFiltersBase.md b/docs/RouteFiltersBase.md new file mode 100644 index 0000000..c9d2691 --- /dev/null +++ b/docs/RouteFiltersBase.md @@ -0,0 +1,13 @@ +# RouteFiltersBase + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Type_** | **string** | Route Filter type | [optional] [default to null] +**Name** | **string** | | [optional] [default to null] +**Description** | **string** | Customer-provided connection description | [optional] [default to null] +**Project** | [***Project**](Project.md) | | [optional] [default to null] +**Notifications** | [**[]SimplifiedNotification**](SimplifiedNotification.md) | Preferences for notifications on route filter configuration or status changes | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFiltersChange.md b/docs/RouteFiltersChange.md new file mode 100644 index 0000000..82d95d5 --- /dev/null +++ b/docs/RouteFiltersChange.md @@ -0,0 +1,11 @@ +# RouteFiltersChange + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Uuid** | **string** | Uniquely identifies a change | [default to null] +**Type_** | **string** | Type of change | [default to null] +**Href** | **string** | Route Filter Change URI | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFiltersChangeOperation.md b/docs/RouteFiltersChangeOperation.md new file mode 100644 index 0000000..89b855c --- /dev/null +++ b/docs/RouteFiltersChangeOperation.md @@ -0,0 +1,11 @@ +# RouteFiltersChangeOperation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Op** | **string** | Handy shortcut for operation name | [default to null] +**Path** | **string** | path inside document leading to updated parameter | [default to null] +**Value** | [***RouteFiltersBase**](RouteFiltersBase.md) | | [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RouteFiltersData.md b/docs/RouteFiltersData.md new file mode 100644 index 0000000..01b0484 --- /dev/null +++ b/docs/RouteFiltersData.md @@ -0,0 +1,20 @@ +# RouteFiltersData + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Href** | **string** | Route Filter URI | [optional] [default to null] +**Type_** | **string** | Route Filter type | [optional] [default to null] +**Uuid** | **string** | Route Filter identifier | [optional] [default to null] +**Name** | **string** | | [optional] [default to null] +**Description** | **string** | Customer-provided connection description | [optional] [default to null] +**State** | [***RouteFilterState**](RouteFilterState.md) | | [optional] [default to null] +**Change** | [***RouteFiltersChange**](RouteFiltersChange.md) | | [optional] [default to null] +**NotMatchedRuleAction** | **string** | | [optional] [default to null] +**ConnectionsCount** | **int32** | | [optional] [default to null] +**Project** | [***AllOfRouteFiltersDataProject**](AllOfRouteFiltersDataProject.md) | | [optional] [default to null] +**Notifications** | [**[]SimplifiedNotification**](SimplifiedNotification.md) | Preferences for notifications on route filter configuration or status changes | [optional] [default to null] +**Changelog** | [***Changelog**](Changelog.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RoutingProtocolsApi.md b/docs/RoutingProtocolsApi.md index ba472bd..d2366ab 100644 --- a/docs/RoutingProtocolsApi.md +++ b/docs/RoutingProtocolsApi.md @@ -410,7 +410,7 @@ This API provides capability to validate all subnets associated with any connect Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. - **body** | [**ValidateSubnetRequest**](ValidateSubnetRequest.md)| | + **body** | [**ValidateRequest**](ValidateRequest.md)| | **routerId** | [**string**](.md)| Cloud Router UUID | ### Return type diff --git a/docs/ServiceMetro.md b/docs/ServiceMetro.md index 08d65a9..32706f4 100644 --- a/docs/ServiceMetro.md +++ b/docs/ServiceMetro.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Code** | **string** | metro code | [optional] [default to null] **Name** | **string** | metro name | [optional] [default to null] +**VcBandwidthMax** | **int32** | max VC speed supported in Mbps | [optional] [default to null] **Ibxs** | **[]string** | | [optional] [default to null] **InTrail** | **bool** | | [optional] [default to null] **DisplayName** | **string** | service metro display name | [optional] [default to null] diff --git a/docs/ServiceMetros.md b/docs/ServiceMetros.md new file mode 100644 index 0000000..7793719 --- /dev/null +++ b/docs/ServiceMetros.md @@ -0,0 +1,10 @@ +# ServiceMetros + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Data** | [**[]ServiceMetro**](ServiceMetro.md) | | [optional] [default to null] +**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ServiceProfilesApi.md b/docs/ServiceProfilesApi.md index 492bbf4..326edb4 100644 --- a/docs/ServiceProfilesApi.md +++ b/docs/ServiceProfilesApi.md @@ -7,6 +7,7 @@ Method | HTTP request | Description [**CreateServiceProfile**](ServiceProfilesApi.md#CreateServiceProfile) | **Post** /fabric/v4/serviceProfiles | Create Profile [**DeleteServiceProfileByUuid**](ServiceProfilesApi.md#DeleteServiceProfileByUuid) | **Delete** /fabric/v4/serviceProfiles/{serviceProfileId} | Delete Profile [**GetServiceProfileByUuid**](ServiceProfilesApi.md#GetServiceProfileByUuid) | **Get** /fabric/v4/serviceProfiles/{serviceProfileId} | Get Profile +[**GetServiceProfileMetrosByUuid**](ServiceProfilesApi.md#GetServiceProfileMetrosByUuid) | **Get** /fabric/v4/serviceProfiles/{serviceProfileId}/metros | Get Profile Metros [**GetServiceProfiles**](ServiceProfilesApi.md#GetServiceProfiles) | **Get** /fabric/v4/serviceProfiles | Get all Profiles [**PutServiceProfileByUuid**](ServiceProfilesApi.md#PutServiceProfileByUuid) | **Put** /fabric/v4/serviceProfiles/{serviceProfileId} | Replace Profile [**SearchServiceProfiles**](ServiceProfilesApi.md#SearchServiceProfiles) | **Post** /fabric/v4/serviceProfiles/search | Profile Search @@ -104,6 +105,43 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **GetServiceProfileMetrosByUuid** +> ServiceMetros GetServiceProfileMetrosByUuid(ctx, serviceProfileId, optional) +Get Profile Metros + +Get service profile metros by UUID. + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **serviceProfileId** | [**string**](.md)| Service Profile UUID | + **optional** | ***ServiceProfilesApiGetServiceProfileMetrosByUuidOpts** | optional parameters | nil if no parameters + +### Optional Parameters +Optional parameters are passed through a pointer to a ServiceProfilesApiGetServiceProfileMetrosByUuidOpts struct +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + **offset** | **optional.Int32**| offset | + **limit** | **optional.Int32**| number of records to fetch | + +### Return type + +[**ServiceMetros**](ServiceMetros.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json; charset=UTF-8, application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **GetServiceProfiles** > ServiceProfiles GetServiceProfiles(ctx, optional) Get all Profiles diff --git a/docs/ValidateSubnetRequestFilter.md b/docs/ValidateRequest.md similarity index 64% rename from docs/ValidateSubnetRequestFilter.md rename to docs/ValidateRequest.md index 68f5bf0..a16a89d 100644 --- a/docs/ValidateSubnetRequestFilter.md +++ b/docs/ValidateRequest.md @@ -1,9 +1,9 @@ -# ValidateSubnetRequestFilter +# ValidateRequest ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**And** | [**[]ValidateSubnetRequestFilterAnd**](ValidateSubnetRequest_filter_and.md) | | [optional] [default to null] +**Filter** | [***ValidateRequestFilter**](ValidateRequest_filter.md) | | [optional] [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ValidateRequestFilter.md b/docs/ValidateRequestFilter.md new file mode 100644 index 0000000..613740a --- /dev/null +++ b/docs/ValidateRequestFilter.md @@ -0,0 +1,9 @@ +# ValidateRequestFilter + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**And** | [**[]ValidateRequestFilterAnd**](ValidateRequest_filter_and.md) | | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ValidateSubnetRequestFilterAnd.md b/docs/ValidateRequestFilterAnd.md similarity index 93% rename from docs/ValidateSubnetRequestFilterAnd.md rename to docs/ValidateRequestFilterAnd.md index 5e5e97e..b56509f 100644 --- a/docs/ValidateSubnetRequestFilterAnd.md +++ b/docs/ValidateRequestFilterAnd.md @@ -1,4 +1,4 @@ -# ValidateSubnetRequestFilterAnd +# ValidateRequestFilterAnd ## Properties Name | Type | Description | Notes diff --git a/docs/VirtualNetwork.md b/docs/VirtualNetwork.md new file mode 100644 index 0000000..f77c9f9 --- /dev/null +++ b/docs/VirtualNetwork.md @@ -0,0 +1,10 @@ +# VirtualNetwork + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Href** | **string** | The Canonical URL at which the resource resides. | [optional] [default to null] +**Uuid** | **string** | Equinix-assigned Virtual Network identifier | [optional] [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/fabric/v4/api_connections.go b/fabric/v4/api_connections.go index 6d88c61..d0fcebc 100644 --- a/fabric/v4/api_connections.go +++ b/fabric/v4/api_connections.go @@ -811,7 +811,7 @@ This API provides capability to validate by auth key @return ConnectionResponse */ -func (a *ConnectionsApiService) ValidateConnections(ctx context.Context, body ValidateConnectionRequest) (ConnectionResponse, *http.Response, error) { +func (a *ConnectionsApiService) ValidateConnections(ctx context.Context, body ValidateRequest) (ConnectionResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} diff --git a/fabric/v4/api_precision_time.go b/fabric/v4/api_precision_time.go index 8440b8d..b419525 100644 --- a/fabric/v4/api_precision_time.go +++ b/fabric/v4/api_precision_time.go @@ -27,7 +27,7 @@ var ( type PrecisionTimeApiService service /* -PrecisionTimeApiService Create Time Service +PrecisionTimeApiService Create time service The API provides capability to create timing service - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param body @@ -99,7 +99,7 @@ func (a *PrecisionTimeApiService) CreateTimeServices(ctx context.Context, body P body: localVarBody, error: localVarHttpResponse.Status, } - if localVarHttpResponse.StatusCode == 202 { + if localVarHttpResponse.StatusCode == 200 { var v PrecisionTimeServiceCreateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) if err != nil { @@ -166,7 +166,7 @@ func (a *PrecisionTimeApiService) CreateTimeServices(ctx context.Context, body P } /* -PrecisionTimeApiService Delete Time Service +PrecisionTimeApiService Delete time service Delete EPT service by it's uuid - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param serviceId Service UUID @@ -294,8 +294,8 @@ func (a *PrecisionTimeApiService) DeleteTimeServiceById(ctx context.Context, ser } /* -PrecisionTimeApiService Get Time Service -The API provides capability to get precision timing service's details +PrecisionTimeApiService Get time service +The API provides capability to get prevision timing service's details - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param serviceId Service UUID @@ -432,7 +432,7 @@ func (a *PrecisionTimeApiService) GetTimeServicesById(ctx context.Context, servi } /* -PrecisionTimeApiService Get all Connections +PrecisionTimeApiService Get Conn Links The API provides capability to get prevision timing service's details - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param serviceId Service UUID @@ -560,7 +560,7 @@ func (a *PrecisionTimeApiService) GetTimeServicesConnectionsByServiceId(ctx cont } /* -PrecisionTimeApiService Get Package by Code +PrecisionTimeApiService Get package by Code The API provides capability to get timing service's package by code - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param packageCode Package Code @@ -577,7 +577,7 @@ func (a *PrecisionTimeApiService) GetTimeServicesPackageByCode(ctx context.Conte ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServicePackages/{packageCode}" + localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServicesPackages/{packageCode}" localVarPath = strings.Replace(localVarPath, "{"+"packageCode"+"}", fmt.Sprintf("%v", packageCode), -1) localVarHeaderParams := make(map[string]string) @@ -684,7 +684,7 @@ func (a *PrecisionTimeApiService) GetTimeServicesPackages(ctx context.Context) ( ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServicePackages" + localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServicesPackages" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -774,7 +774,7 @@ func (a *PrecisionTimeApiService) GetTimeServicesPackages(ctx context.Context) ( } /* -PrecisionTimeApiService Patch Time Service +PrecisionTimeApiService Patch time service The API provides capability to update timing service - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param body diff --git a/fabric/v4/api_route_filter_rules.go b/fabric/v4/api_route_filter_rules.go new file mode 100644 index 0000000..0106ace --- /dev/null +++ b/fabric/v4/api_route_filter_rules.go @@ -0,0 +1,1325 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +import ( + "bytes" + "context" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "strings" + + "github.com/antihax/optional" +) + +// Linger please +var ( + _ context.Context +) + +type RouteFilterRulesApiService service + +/* +RouteFilterRulesApiService Create RFRule +This API provides capability to create a Route Filter Rule + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + +@return RouteFilterRulesData +*/ +func (a *RouteFilterRulesApiService) CreateRouteFilterRule(ctx context.Context, body RouteFilterRulesBase, routeFilterId string) (RouteFilterRulesData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterRulesData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFilterRulesData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService Bulk RFRules +This API provides capability to create bulk route filter rules + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + +@return GetRouteFilterRulesResponse +*/ +func (a *RouteFilterRulesApiService) CreateRouteFilterRulesInBulk(ctx context.Context, body RouteFilterRulesPostRequest, routeFilterId string) (GetRouteFilterRulesResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue GetRouteFilterRulesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v GetRouteFilterRulesResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService DeleteRFRule +This API provides capability to delete a Route Filter Rule + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + - @param routeFilterRuleId Route Filter Rules Id + +@return RouteFilterRulesData +*/ +func (a *RouteFilterRulesApiService) DeleteRouteFilterRuleByUuid(ctx context.Context, routeFilterId string, routeFilterRuleId string) (RouteFilterRulesData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterRulesData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterRuleId"+"}", fmt.Sprintf("%v", routeFilterRuleId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFilterRulesData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService GetRFRule By UUID +This API provides capability to view a Route Filter Rule by UUID + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + - @param routeFilterRuleId Route Filter Rules Id + +@return RouteFilterRulesData +*/ +func (a *RouteFilterRulesApiService) GetRouteFilterRuleByUuid(ctx context.Context, routeFilterId string, routeFilterRuleId string) (RouteFilterRulesData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterRulesData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterRuleId"+"}", fmt.Sprintf("%v", routeFilterRuleId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFilterRulesData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService Get Change By ID +This API provides capability to retrieve a specific Route Filter Rule's Changes + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + - @param routeFilterRuleId Route Filter Rules Id + - @param changeId Route Filter Rule Change UUID + +@return RouteFilterRulesChangeData +*/ +func (a *RouteFilterRulesApiService) GetRouteFilterRuleChangeByUuid(ctx context.Context, routeFilterId string, routeFilterRuleId string, changeId string) (RouteFilterRulesChangeData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterRulesChangeData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterRuleId"+"}", fmt.Sprintf("%v", routeFilterRuleId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"changeId"+"}", fmt.Sprintf("%v", changeId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v RouteFilterRulesChangeData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService Get All Changes +This API provides capability to retrieve all of a Route Filter Rule's Changes + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param routeFilterId Route Filters Id + * @param routeFilterRuleId Route Filter Rules Id + * @param optional nil or *RouteFilterRulesApiGetRouteFilterRuleChangesOpts - Optional Parameters: + * @param "Offset" (optional.Int32) - offset + * @param "Limit" (optional.Int32) - number of records to fetch +@return RouteFilterRulesChangeDataResponse +*/ + +type RouteFilterRulesApiGetRouteFilterRuleChangesOpts struct { + Offset optional.Int32 + Limit optional.Int32 +} + +func (a *RouteFilterRulesApiService) GetRouteFilterRuleChanges(ctx context.Context, routeFilterId string, routeFilterRuleId string, localVarOptionals *RouteFilterRulesApiGetRouteFilterRuleChangesOpts) (RouteFilterRulesChangeDataResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterRulesChangeDataResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterRuleId"+"}", fmt.Sprintf("%v", routeFilterRuleId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { + localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v RouteFilterRulesChangeDataResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService GetRFRules +This API provides capability to get all Route Filters Rules for Fabric + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param routeFilterId Route Filters Id + * @param optional nil or *RouteFilterRulesApiGetRouteFilterRulesOpts - Optional Parameters: + * @param "Offset" (optional.Int32) - offset + * @param "Limit" (optional.Int32) - number of records to fetch +@return GetRouteFilterRulesResponse +*/ + +type RouteFilterRulesApiGetRouteFilterRulesOpts struct { + Offset optional.Int32 + Limit optional.Int32 +} + +func (a *RouteFilterRulesApiService) GetRouteFilterRules(ctx context.Context, routeFilterId string, localVarOptionals *RouteFilterRulesApiGetRouteFilterRulesOpts) (GetRouteFilterRulesResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue GetRouteFilterRulesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { + localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v GetRouteFilterRulesResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService PatchRFilterRule +This API provides capability to partially update a Route Filter Rule + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + - @param routeFilterRuleId Route Filter Rules Id + +@return RouteFiltersData +*/ +func (a *RouteFilterRulesApiService) PatchRouteFilterRuleByUuid(ctx context.Context, body []RouteFilterChangePrefixMatch, routeFilterId string, routeFilterRuleId string) (RouteFiltersData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Patch") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFiltersData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterRuleId"+"}", fmt.Sprintf("%v", routeFilterRuleId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFiltersData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFilterRulesApiService ReplaceRFRule +This API provides capability to replace a Route Filter Rule completely + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + - @param routeFilterRuleId Route Filter Rules Id + +@return RouteFilterRulesData +*/ +func (a *RouteFilterRulesApiService) ReplaceRouteFilterRuleByUuid(ctx context.Context, body RouteFilterRulesBase, routeFilterId string, routeFilterRuleId string) (RouteFilterRulesData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterRulesData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterRuleId"+"}", fmt.Sprintf("%v", routeFilterRuleId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFilterRulesData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} diff --git a/fabric/v4/api_route_filters.go b/fabric/v4/api_route_filters.go new file mode 100644 index 0000000..0e0f3f4 --- /dev/null +++ b/fabric/v4/api_route_filters.go @@ -0,0 +1,1817 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +import ( + "bytes" + "context" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "strings" + + "github.com/antihax/optional" +) + +// Linger please +var ( + _ context.Context +) + +type RouteFiltersApiService service + +/* +RouteFiltersApiService Attach Route Filter +This API provides capability to attach a Route Filter to a Connection + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + - @param connectionId Connection Id + +@return ConnectionRouteFilterData +*/ +func (a *RouteFiltersApiService) AttachConnectionRouteFilter(ctx context.Context, body ConnectionRouteFiltersBase, routeFilterId string, connectionId string) (ConnectionRouteFilterData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue ConnectionRouteFilterData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"connectionId"+"}", fmt.Sprintf("%v", connectionId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v ConnectionRouteFilterData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Create Route Filters +This API provides capability to create a Route Filter + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + +@return RouteFiltersData +*/ +func (a *RouteFiltersApiService) CreateRouteFilter(ctx context.Context, body RouteFiltersBase) (RouteFiltersData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFiltersData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFiltersData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Delete Route Filter +This API provides capability to delete a Route Filter + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + +@return RouteFiltersData +*/ +func (a *RouteFiltersApiService) DeleteRouteFilterByUuid(ctx context.Context, routeFilterId string) (RouteFiltersData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFiltersData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFiltersData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Detach Route Filter +This API provides capability to detach a Route Filter from a Connection + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + - @param connectionId Connection Id + +@return ConnectionRouteFilterData +*/ +func (a *RouteFiltersApiService) DetachConnectionRouteFilter(ctx context.Context, routeFilterId string, connectionId string) (ConnectionRouteFilterData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue ConnectionRouteFilterData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"connectionId"+"}", fmt.Sprintf("%v", connectionId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v ConnectionRouteFilterData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Get Route Filter +This API provides capability to view a specific Route Filter attached to a Connection + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + - @param connectionId Connection Id + +@return ConnectionRouteFilterData +*/ +func (a *RouteFiltersApiService) GetConnectionRouteFilterByUuid(ctx context.Context, routeFilterId string, connectionId string) (ConnectionRouteFilterData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue ConnectionRouteFilterData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"connectionId"+"}", fmt.Sprintf("%v", connectionId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v ConnectionRouteFilterData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Get All RouteFilters +This API provides capability to view all Route Filters attached to a Connection + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param connectionId Connection Id + +@return GetAllConnectionRouteFiltersResponse +*/ +func (a *RouteFiltersApiService) GetConnectionRouteFilters(ctx context.Context, connectionId string) (GetAllConnectionRouteFiltersResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue GetAllConnectionRouteFiltersResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/connections/{connectionId}/routeFilters" + localVarPath = strings.Replace(localVarPath, "{"+"connectionId"+"}", fmt.Sprintf("%v", connectionId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v GetAllConnectionRouteFiltersResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Get Filter By UUID +This API provides capability to view a Route Filter by UUID + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + +@return RouteFiltersData +*/ +func (a *RouteFiltersApiService) GetRouteFilterByUuid(ctx context.Context, routeFilterId string) (RouteFiltersData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFiltersData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v RouteFiltersData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Get Change By ID +This API provides capability to retrieve a specific Route Filter's Changes + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + - @param changeId Routing Protocol Change UUID + +@return RouteFilterChangeData +*/ +func (a *RouteFiltersApiService) GetRouteFilterChangeByUuid(ctx context.Context, routeFilterId string, changeId string) (RouteFilterChangeData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterChangeData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"changeId"+"}", fmt.Sprintf("%v", changeId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v RouteFilterChangeData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Get All Changes +This API provides capability to retrieve all of a Route Filter's Changes + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param routeFilterId Route Filters Id + * @param optional nil or *RouteFiltersApiGetRouteFilterChangesOpts - Optional Parameters: + * @param "Offset" (optional.Int32) - offset + * @param "Limit" (optional.Int32) - number of records to fetch +@return RouteFilterChangeDataResponse +*/ + +type RouteFiltersApiGetRouteFilterChangesOpts struct { + Offset optional.Int32 + Limit optional.Int32 +} + +func (a *RouteFiltersApiService) GetRouteFilterChanges(ctx context.Context, routeFilterId string, localVarOptionals *RouteFiltersApiGetRouteFilterChangesOpts) (RouteFilterChangeDataResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFilterChangeDataResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/changes" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { + localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v RouteFilterChangeDataResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Get Connections +This API provides capability to view all Connections using the Route Filter + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param routeFilterId Route Filters Id + +@return GetRouteFilterGetConnectionsResponse +*/ +func (a *RouteFiltersApiService) GetRouteFilterConnections(ctx context.Context, routeFilterId string) (GetRouteFilterGetConnectionsResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue GetRouteFilterGetConnectionsResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}/connections" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v GetRouteFilterGetConnectionsResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Patch Route Filter +This API provides capability to partially update a Route Filter + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + +@return RouteFiltersData +*/ +func (a *RouteFiltersApiService) PatchRouteFilterByUuid(ctx context.Context, body []ConnectionChangeOperation, routeFilterId string) (RouteFiltersData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Patch") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFiltersData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFiltersData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +RouteFiltersApiService Replace Route Filter +This API provides capability to replace a Route Filter completely + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body + - @param routeFilterId Route Filters Id + +@return RouteFiltersData +*/ +func (a *RouteFiltersApiService) ReplaceRouteFilterByUuid(ctx context.Context, body RouteFiltersBase, routeFilterId string) (RouteFiltersData, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RouteFiltersData + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/routeFilters/{routeFilterId}" + localVarPath = strings.Replace(localVarPath, "{"+"routeFilterId"+"}", fmt.Sprintf("%v", routeFilterId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 202 { + var v RouteFiltersData + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 415 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} diff --git a/fabric/v4/api_routing_protocols.go b/fabric/v4/api_routing_protocols.go index 0a7deaa..b6e62a7 100644 --- a/fabric/v4/api_routing_protocols.go +++ b/fabric/v4/api_routing_protocols.go @@ -1883,7 +1883,7 @@ This API provides capability to validate all subnets associated with any connect @return ValidateSubnetResponse */ -func (a *RoutingProtocolsApiService) ValidateRoutingProtocol(ctx context.Context, body ValidateSubnetRequest, routerId string) (ValidateSubnetResponse, *http.Response, error) { +func (a *RoutingProtocolsApiService) ValidateRoutingProtocol(ctx context.Context, body ValidateRequest, routerId string) (ValidateSubnetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} diff --git a/fabric/v4/api_service_profiles.go b/fabric/v4/api_service_profiles.go index f9b0b97..b3cf2c3 100644 --- a/fabric/v4/api_service_profiles.go +++ b/fabric/v4/api_service_profiles.go @@ -432,6 +432,148 @@ func (a *ServiceProfilesApiService) GetServiceProfileByUuid(ctx context.Context, return localVarReturnValue, localVarHttpResponse, nil } +/* +ServiceProfilesApiService Get Profile Metros +Get service profile metros by UUID. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param serviceProfileId Service Profile UUID + * @param optional nil or *ServiceProfilesApiGetServiceProfileMetrosByUuidOpts - Optional Parameters: + * @param "Offset" (optional.Int32) - offset + * @param "Limit" (optional.Int32) - number of records to fetch +@return ServiceMetros +*/ + +type ServiceProfilesApiGetServiceProfileMetrosByUuidOpts struct { + Offset optional.Int32 + Limit optional.Int32 +} + +func (a *ServiceProfilesApiService) GetServiceProfileMetrosByUuid(ctx context.Context, serviceProfileId string, localVarOptionals *ServiceProfilesApiGetServiceProfileMetrosByUuidOpts) (ServiceMetros, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue ServiceMetros + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros" + localVarPath = strings.Replace(localVarPath, "{"+"serviceProfileId"+"}", fmt.Sprintf("%v", serviceProfileId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { + localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json; charset=UTF-8", "application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v ServiceMetros + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 401 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 403 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v []ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + /* ServiceProfilesApiService Get all Profiles The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. diff --git a/fabric/v4/client.go b/fabric/v4/client.go index ba64bb0..730fac5 100644 --- a/fabric/v4/client.go +++ b/fabric/v4/client.go @@ -36,7 +36,7 @@ var ( xmlCheck = regexp.MustCompile("(?i:[application|text]/xml)") ) -// APIClient manages communication with the Equinix Fabric API v4 API v4.10 +// APIClient manages communication with the Equinix Fabric API v4 API v4.11 // In most cases there should be only one, shared, APIClient. type APIClient struct { cfg *Configuration @@ -60,6 +60,10 @@ type APIClient struct { PricesApi *PricesApiService + RouteFilterRulesApi *RouteFilterRulesApiService + + RouteFiltersApi *RouteFiltersApiService + RoutingProtocolsApi *RoutingProtocolsApiService ServiceProfilesApi *ServiceProfilesApiService @@ -93,6 +97,8 @@ func NewAPIClient(cfg *Configuration) *APIClient { c.PortsApi = (*PortsApiService)(&c.common) c.PrecisionTimeApi = (*PrecisionTimeApiService)(&c.common) c.PricesApi = (*PricesApiService)(&c.common) + c.RouteFilterRulesApi = (*RouteFilterRulesApiService)(&c.common) + c.RouteFiltersApi = (*RouteFiltersApiService)(&c.common) c.RoutingProtocolsApi = (*RoutingProtocolsApiService)(&c.common) c.ServiceProfilesApi = (*ServiceProfilesApiService)(&c.common) c.ServiceTokensApi = (*ServiceTokensApiService)(&c.common) diff --git a/fabric/v4/model_access_point.go b/fabric/v4/model_access_point.go index f9e22d3..c4d297e 100644 --- a/fabric/v4/model_access_point.go +++ b/fabric/v4/model_access_point.go @@ -26,5 +26,6 @@ type AccessPoint struct { // Access point authentication key AuthenticationKey string `json:"authenticationKey,omitempty"` // Provider assigned Connection Id - ProviderConnectionId string `json:"providerConnectionId,omitempty"` + ProviderConnectionId string `json:"providerConnectionId,omitempty"` + VirtualNetwork *VirtualNetwork `json:"virtualNetwork,omitempty"` } diff --git a/fabric/v4/model_access_point_type.go b/fabric/v4/model_access_point_type.go index 263c47a..6faecf6 100644 --- a/fabric/v4/model_access_point_type.go +++ b/fabric/v4/model_access_point_type.go @@ -13,12 +13,13 @@ type AccessPointType string // List of AccessPointType const ( - VD_AccessPointType AccessPointType = "VD" - VG_AccessPointType AccessPointType = "VG" - SP_AccessPointType AccessPointType = "SP" - IGW_AccessPointType AccessPointType = "IGW" - COLO_AccessPointType AccessPointType = "COLO" - SUBNET_AccessPointType AccessPointType = "SUBNET" - CLOUD_ROUTER_AccessPointType AccessPointType = "CLOUD_ROUTER" - NETWORK_AccessPointType AccessPointType = "NETWORK" + VD_AccessPointType AccessPointType = "VD" + VG_AccessPointType AccessPointType = "VG" + SP_AccessPointType AccessPointType = "SP" + IGW_AccessPointType AccessPointType = "IGW" + COLO_AccessPointType AccessPointType = "COLO" + SUBNET_AccessPointType AccessPointType = "SUBNET" + CLOUD_ROUTER_AccessPointType AccessPointType = "CLOUD_ROUTER" + NETWORK_AccessPointType AccessPointType = "NETWORK" + METAL_NETWORK_AccessPointType AccessPointType = "METAL_NETWORK" ) diff --git a/fabric/v4/model_all_of_route_filters_data_project.go b/fabric/v4/model_all_of_route_filters_data_project.go new file mode 100644 index 0000000..612b11b --- /dev/null +++ b/fabric/v4/model_all_of_route_filters_data_project.go @@ -0,0 +1,16 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type AllOfRouteFiltersDataProject struct { + // Subscriber-assigned project ID + ProjectId string `json:"projectId"` + // Project URI + Href string `json:"href,omitempty"` +} diff --git a/fabric/v4/model_code.go b/fabric/v4/model_code.go index 9ffca30..4d482c6 100644 --- a/fabric/v4/model_code.go +++ b/fabric/v4/model_code.go @@ -13,8 +13,8 @@ type Code string // List of code const ( - LAB_Code Code = "LAB" - BASIC_Code Code = "BASIC" - PRO_Code Code = "PRO" - PREMIUM_Code Code = "PREMIUM" + LAB_Code Code = "LAB" + BASIC_Code Code = "BASIC" + STANDARD_Code Code = "STANDARD" + PREMIUM_Code Code = "PREMIUM" ) diff --git a/fabric/v4/model_connection_route_filter_data.go b/fabric/v4/model_connection_route_filter_data.go new file mode 100644 index 0000000..3ceb3ff --- /dev/null +++ b/fabric/v4/model_connection_route_filter_data.go @@ -0,0 +1,20 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type ConnectionRouteFilterData struct { + // Route Filter URI + Href string `json:"href,omitempty"` + // Route Filter type + Type_ string `json:"type,omitempty"` + // Route Filter identifier + Uuid string `json:"uuid,omitempty"` + AttachmentStatus string `json:"attachmentStatus,omitempty"` + Direction string `json:"direction,omitempty"` +} diff --git a/fabric/v4/model_validate_subnet_request.go b/fabric/v4/model_connection_route_filters_base.go similarity index 81% rename from fabric/v4/model_validate_subnet_request.go rename to fabric/v4/model_connection_route_filters_base.go index 5deb0bd..5d0ca17 100644 --- a/fabric/v4/model_validate_subnet_request.go +++ b/fabric/v4/model_connection_route_filters_base.go @@ -8,7 +8,7 @@ */ package v4 -// Validate subnet for Routing Protocol Configuration -type ValidateSubnetRequest struct { - Filter *ValidateSubnetRequestFilter `json:"filter,omitempty"` +type ConnectionRouteFiltersBase struct { + // Route Filter direction to attach to a connection + Direction string `json:"direction,omitempty"` } diff --git a/fabric/v4/model_fabric_cloud_router_code.go b/fabric/v4/model_fabric_cloud_router_code.go index 964f1c2..341e77d 100644 --- a/fabric/v4/model_fabric_cloud_router_code.go +++ b/fabric/v4/model_fabric_cloud_router_code.go @@ -13,8 +13,8 @@ type FabricCloudRouterCode string // List of FabricCloudRouterCode const ( - LAB_FabricCloudRouterCode FabricCloudRouterCode = "LAB" - BASIC_FabricCloudRouterCode FabricCloudRouterCode = "BASIC" - PRO_FabricCloudRouterCode FabricCloudRouterCode = "PRO" - PREMIUM_FabricCloudRouterCode FabricCloudRouterCode = "PREMIUM" + LAB_FabricCloudRouterCode FabricCloudRouterCode = "LAB" + BASIC_FabricCloudRouterCode FabricCloudRouterCode = "BASIC" + STANDARD_FabricCloudRouterCode FabricCloudRouterCode = "STANDARD" + PREMIUM_FabricCloudRouterCode FabricCloudRouterCode = "PREMIUM" ) diff --git a/fabric/v4/model_get_all_connection_route_filters_response.go b/fabric/v4/model_get_all_connection_route_filters_response.go new file mode 100644 index 0000000..406be5b --- /dev/null +++ b/fabric/v4/model_get_all_connection_route_filters_response.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type GetAllConnectionRouteFiltersResponse struct { + Pagination *Pagination `json:"pagination,omitempty"` + // List of Route Filters attached to a Connection + Data []ConnectionRouteFilterData `json:"data,omitempty"` +} diff --git a/fabric/v4/model_get_route_filter_get_connections_response.go b/fabric/v4/model_get_route_filter_get_connections_response.go new file mode 100644 index 0000000..fee56f7 --- /dev/null +++ b/fabric/v4/model_get_route_filter_get_connections_response.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type GetRouteFilterGetConnectionsResponse struct { + Pagination *Pagination `json:"pagination,omitempty"` + // List of Connections using a Route Filter + Data []RouteFilterConnectionsData `json:"data,omitempty"` +} diff --git a/fabric/v4/model_get_route_filter_rules_response.go b/fabric/v4/model_get_route_filter_rules_response.go new file mode 100644 index 0000000..3e506b3 --- /dev/null +++ b/fabric/v4/model_get_route_filter_rules_response.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type GetRouteFilterRulesResponse struct { + Pagination *Pagination `json:"pagination,omitempty"` + // List of Route Filter Rules + Data []RouteFilterRulesData `json:"data,omitempty"` +} diff --git a/fabric/v4/model_interface.go b/fabric/v4/model_interface.go index c87da4c..18a0e54 100644 --- a/fabric/v4/model_interface.go +++ b/fabric/v4/model_interface.go @@ -8,14 +8,16 @@ */ package v4 -// Virtual Device Interface Information +// Interface Information type ModelInterface struct { - // Virtual Interface URI + // Interface URI Href string `json:"href,omitempty"` - // Equinix-assigned Virtual Device Interface identifier + // Equinix-assigned Interface identifier Uuid string `json:"uuid,omitempty"` // Interface id Id int32 `json:"id,omitempty"` - // Virtual Device Interface type + // Interface type Type_ string `json:"type,omitempty"` + // Interface Project ID + ProjectId string `json:"projectId,omitempty"` } diff --git a/fabric/v4/model_link_protocol_type.go b/fabric/v4/model_link_protocol_type.go index ff5f3d9..ec87418 100644 --- a/fabric/v4/model_link_protocol_type.go +++ b/fabric/v4/model_link_protocol_type.go @@ -17,4 +17,5 @@ const ( DOT1_Q_LinkProtocolType LinkProtocolType = "DOT1Q" QINQ_LinkProtocolType LinkProtocolType = "QINQ" EVPN_VXLAN_LinkProtocolType LinkProtocolType = "EVPN_VXLAN" + VXLAN_LinkProtocolType LinkProtocolType = "VXLAN" ) diff --git a/fabric/v4/model_link_protocol_vxlan.go b/fabric/v4/model_link_protocol_vxlan.go new file mode 100644 index 0000000..b14a528 --- /dev/null +++ b/fabric/v4/model_link_protocol_vxlan.go @@ -0,0 +1,16 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Connection link protocol configuration - VXLAN +type LinkProtocolVxlan struct { + Type_ *LinkProtocolType `json:"type,omitempty"` + // Virtual Network Identifier + Vni int32 `json:"vni"` +} diff --git a/fabric/v4/model_one_of_link_protocol.go b/fabric/v4/model_one_of_link_protocol.go index f31132b..5a548dd 100644 --- a/fabric/v4/model_one_of_link_protocol.go +++ b/fabric/v4/model_one_of_link_protocol.go @@ -12,5 +12,6 @@ type OneOfLinkProtocol struct { LinkProtocolUntagged LinkProtocolDot1q LinkProtocolQinq + LinkProtocolVxlan LinkProtocolEvpnVxlan } diff --git a/fabric/v4/model_precision_time_service_create_response.go b/fabric/v4/model_precision_time_service_create_response.go index f9cce7c..050503c 100644 --- a/fabric/v4/model_precision_time_service_create_response.go +++ b/fabric/v4/model_precision_time_service_create_response.go @@ -22,7 +22,7 @@ type PrecisionTimeServiceCreateResponse struct { Package_ *PackageResponse `json:"package"` // fabric l2 connections used for the ept service Connections []FabricConnectionUuid `json:"connections,omitempty"` - Ipv4 *Ipv4 `json:"ipv4"` + NetworkingIpv4 *Ipv4 `json:"networkingIpv4"` Account *Account `json:"account,omitempty"` AdvanceConfiguration *AdvanceConfiguration `json:"advanceConfiguration,omitempty"` Project *Project `json:"project,omitempty"` diff --git a/fabric/v4/model_precision_time_service_request.go b/fabric/v4/model_precision_time_service_request.go index fad799c..992a89d 100644 --- a/fabric/v4/model_precision_time_service_request.go +++ b/fabric/v4/model_precision_time_service_request.go @@ -16,7 +16,7 @@ type PrecisionTimeServiceRequest struct { Description string `json:"description,omitempty"` Package_ *PackageRequest `json:"package"` Connections []FabricConnectionUuid `json:"connections"` - Ipv4 *Ipv4 `json:"ipv4"` + NetworkingIpv4 *Ipv4 `json:"networkingIpv4"` AdvanceConfiguration *AdvanceConfiguration `json:"advanceConfiguration,omitempty"` Project *Project `json:"project,omitempty"` } diff --git a/fabric/v4/model_route_filter_change_data.go b/fabric/v4/model_route_filter_change_data.go new file mode 100644 index 0000000..0d92767 --- /dev/null +++ b/fabric/v4/model_route_filter_change_data.go @@ -0,0 +1,36 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +import ( + "time" +) + +// Current state of latest Route Filter change +type RouteFilterChangeData struct { + // Uniquely identifies a change + Uuid string `json:"uuid"` + // Type of change + Type_ string `json:"type"` + // Route Filter Change URI + Href string `json:"href,omitempty"` + // Current outcome of the change flow + Status string `json:"status,omitempty"` + // Created by User Key + CreatedBy string `json:"createdBy,omitempty"` + // Set when change flow starts + CreatedDateTime time.Time `json:"createdDateTime,omitempty"` + // Updated by User Key + UpdatedBy string `json:"updatedBy,omitempty"` + // Set when change object is updated + UpdatedDateTime time.Time `json:"updatedDateTime,omitempty"` + // Additional information + Information string `json:"information,omitempty"` + Data *RouteFiltersChangeOperation `json:"data,omitempty"` +} diff --git a/fabric/v4/model_route_filter_change_data_response.go b/fabric/v4/model_route_filter_change_data_response.go new file mode 100644 index 0000000..28e2846 --- /dev/null +++ b/fabric/v4/model_route_filter_change_data_response.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// List of Route Filter changes +type RouteFilterChangeDataResponse struct { + Pagination *Pagination `json:"pagination,omitempty"` + Data []RouteFilterChangeData `json:"data,omitempty"` +} diff --git a/fabric/v4/model_route_filter_change_prefix_match.go b/fabric/v4/model_route_filter_change_prefix_match.go new file mode 100644 index 0000000..96e4ba7 --- /dev/null +++ b/fabric/v4/model_route_filter_change_prefix_match.go @@ -0,0 +1,19 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Route Filter Rule change operation data +type RouteFilterChangePrefixMatch struct { + // Handy shortcut for operation name + Op string `json:"op"` + // path to change + Path string `json:"path"` + // new value for updated parameter + Value *interface{} `json:"value"` +} diff --git a/fabric/v4/model_route_filter_connections_data.go b/fabric/v4/model_route_filter_connections_data.go new file mode 100644 index 0000000..6a7b35f --- /dev/null +++ b/fabric/v4/model_route_filter_connections_data.go @@ -0,0 +1,18 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type RouteFilterConnectionsData struct { + // Connection URI + Href string `json:"href,omitempty"` + Type_ *ConnectionType `json:"type,omitempty"` + // Route Filter identifier + Uuid string `json:"uuid,omitempty"` + Name string `json:"name,omitempty"` +} diff --git a/fabric/v4/model_route_filter_rules_base.go b/fabric/v4/model_route_filter_rules_base.go new file mode 100644 index 0000000..6c8728f --- /dev/null +++ b/fabric/v4/model_route_filter_rules_base.go @@ -0,0 +1,17 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type RouteFilterRulesBase struct { + Name string `json:"name,omitempty"` + // Customer-provided Route Filter Rule description + Description string `json:"description,omitempty"` + Prefix string `json:"prefix,omitempty"` + PrefixMatch string `json:"prefixMatch,omitempty"` +} diff --git a/fabric/v4/model_route_filter_rules_change.go b/fabric/v4/model_route_filter_rules_change.go new file mode 100644 index 0000000..b9c5811 --- /dev/null +++ b/fabric/v4/model_route_filter_rules_change.go @@ -0,0 +1,19 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Current state of latest Route Filter Rule change +type RouteFilterRulesChange struct { + // Uniquely identifies a change + Uuid string `json:"uuid"` + // Type of change + Type_ string `json:"type"` + // Route Filter Change URI + Href string `json:"href,omitempty"` +} diff --git a/fabric/v4/model_route_filter_rules_change_data.go b/fabric/v4/model_route_filter_rules_change_data.go new file mode 100644 index 0000000..e6fd199 --- /dev/null +++ b/fabric/v4/model_route_filter_rules_change_data.go @@ -0,0 +1,34 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +import ( + "time" +) + +// Current state of latest Route Filter Rules change +type RouteFilterRulesChangeData struct { + // Uniquely identifies a change + Uuid string `json:"uuid"` + // Type of change + Type_ string `json:"type"` + // Route Filter Change URI + Href string `json:"href,omitempty"` + // Current outcome of the change flow + Status string `json:"status,omitempty"` + // Created by User Key + CreatedBy string `json:"createdBy,omitempty"` + // Set when change flow starts + CreatedDateTime time.Time `json:"createdDateTime,omitempty"` + // Updated by User Key + UpdatedBy string `json:"updatedBy,omitempty"` + // Set when change object is updated + UpdatedDateTime time.Time `json:"updatedDateTime,omitempty"` + Data *RouteFilterRulesChangeOperation `json:"data,omitempty"` +} diff --git a/fabric/v4/model_route_filter_rules_change_data_response.go b/fabric/v4/model_route_filter_rules_change_data_response.go new file mode 100644 index 0000000..218cc55 --- /dev/null +++ b/fabric/v4/model_route_filter_rules_change_data_response.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// List of Route Filter Rule changes +type RouteFilterRulesChangeDataResponse struct { + Pagination *Pagination `json:"pagination,omitempty"` + Data []RouteFilterRulesChangeData `json:"data,omitempty"` +} diff --git a/fabric/v4/model_route_filter_rules_change_operation.go b/fabric/v4/model_route_filter_rules_change_operation.go new file mode 100644 index 0000000..f8f39b7 --- /dev/null +++ b/fabric/v4/model_route_filter_rules_change_operation.go @@ -0,0 +1,23 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Route Filter change operation data +type RouteFilterRulesChangeOperation struct { + // name of route filter rule + Name string `json:"name"` + // cust provided description + Description string `json:"description,omitempty"` + // type of filter rule + Type_ string `json:"type"` + // given prefix (does not change) + Prefix string `json:"prefix"` + // change to be made + Action string `json:"action"` +} diff --git a/fabric/v4/model_route_filter_rules_data.go b/fabric/v4/model_route_filter_rules_data.go new file mode 100644 index 0000000..61643b6 --- /dev/null +++ b/fabric/v4/model_route_filter_rules_data.go @@ -0,0 +1,27 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type RouteFilterRulesData struct { + // Route Filter Rules URI + Href string `json:"href,omitempty"` + // Route Filter type + Type_ string `json:"type,omitempty"` + // Route Filter Rule identifier + Uuid string `json:"uuid,omitempty"` + Name string `json:"name,omitempty"` + // Customer-provided Route Filter Rule description + Description string `json:"description,omitempty"` + // prefix matching operator + PrefixMatch string `json:"prefixMatch,omitempty"` + Change *RouteFilterRulesChange `json:"change,omitempty"` + Action string `json:"action,omitempty"` + Prefix string `json:"prefix,omitempty"` + Changelog *Changelog `json:"changelog,omitempty"` +} diff --git a/fabric/v4/model_route_filter_rules_post_request.go b/fabric/v4/model_route_filter_rules_post_request.go new file mode 100644 index 0000000..45e8701 --- /dev/null +++ b/fabric/v4/model_route_filter_rules_post_request.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Create Route Filter Rule POST request +type RouteFilterRulesPostRequest struct { + // Route Filter Rule configuration + Data []RouteFilterRulesBase `json:"data,omitempty"` +} diff --git a/fabric/v4/model_route_filter_state.go b/fabric/v4/model_route_filter_state.go new file mode 100644 index 0000000..e872d29 --- /dev/null +++ b/fabric/v4/model_route_filter_state.go @@ -0,0 +1,23 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// RouteFilterState : Route Filter status +type RouteFilterState string + +// List of RouteFilterState +const ( + PROVISIONING_RouteFilterState RouteFilterState = "PROVISIONING" + REPROVISIONING_RouteFilterState RouteFilterState = "REPROVISIONING" + DEPROVISIONING_RouteFilterState RouteFilterState = "DEPROVISIONING" + PROVISIONED_RouteFilterState RouteFilterState = "PROVISIONED" + DEPROVISIONED_RouteFilterState RouteFilterState = "DEPROVISIONED" + NOT_PROVISIONED_RouteFilterState RouteFilterState = "NOT_PROVISIONED" + NOT_DEPROVISIONED_RouteFilterState RouteFilterState = "NOT_DEPROVISIONED" +) diff --git a/fabric/v4/model_route_filters_base.go b/fabric/v4/model_route_filters_base.go new file mode 100644 index 0000000..74faeb1 --- /dev/null +++ b/fabric/v4/model_route_filters_base.go @@ -0,0 +1,20 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type RouteFiltersBase struct { + // Route Filter type + Type_ string `json:"type,omitempty"` + Name string `json:"name,omitempty"` + // Customer-provided connection description + Description string `json:"description,omitempty"` + Project *Project `json:"project,omitempty"` + // Preferences for notifications on route filter configuration or status changes + Notifications []SimplifiedNotification `json:"notifications,omitempty"` +} diff --git a/fabric/v4/model_route_filters_change.go b/fabric/v4/model_route_filters_change.go new file mode 100644 index 0000000..591850e --- /dev/null +++ b/fabric/v4/model_route_filters_change.go @@ -0,0 +1,19 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Current state of latest Route Filter change +type RouteFiltersChange struct { + // Uniquely identifies a change + Uuid string `json:"uuid"` + // Type of change + Type_ string `json:"type"` + // Route Filter Change URI + Href string `json:"href,omitempty"` +} diff --git a/fabric/v4/model_route_filters_change_operation.go b/fabric/v4/model_route_filters_change_operation.go new file mode 100644 index 0000000..004bea2 --- /dev/null +++ b/fabric/v4/model_route_filters_change_operation.go @@ -0,0 +1,18 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Route Filter change operation data +type RouteFiltersChangeOperation struct { + // Handy shortcut for operation name + Op string `json:"op"` + // path inside document leading to updated parameter + Path string `json:"path"` + Value *RouteFiltersBase `json:"value"` +} diff --git a/fabric/v4/model_route_filters_data.go b/fabric/v4/model_route_filters_data.go new file mode 100644 index 0000000..0a2deb3 --- /dev/null +++ b/fabric/v4/model_route_filters_data.go @@ -0,0 +1,29 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +type RouteFiltersData struct { + // Route Filter URI + Href string `json:"href,omitempty"` + // Route Filter type + Type_ string `json:"type,omitempty"` + // Route Filter identifier + Uuid string `json:"uuid,omitempty"` + Name string `json:"name,omitempty"` + // Customer-provided connection description + Description string `json:"description,omitempty"` + State *RouteFilterState `json:"state,omitempty"` + Change *RouteFiltersChange `json:"change,omitempty"` + NotMatchedRuleAction string `json:"notMatchedRuleAction,omitempty"` + ConnectionsCount int32 `json:"connectionsCount,omitempty"` + Project *AllOfRouteFiltersDataProject `json:"project,omitempty"` + // Preferences for notifications on route filter configuration or status changes + Notifications []SimplifiedNotification `json:"notifications,omitempty"` + Changelog *Changelog `json:"changelog,omitempty"` +} diff --git a/fabric/v4/model_router_package_code.go b/fabric/v4/model_router_package_code.go index 926d615..ff385a1 100644 --- a/fabric/v4/model_router_package_code.go +++ b/fabric/v4/model_router_package_code.go @@ -13,8 +13,8 @@ type RouterPackageCode string // List of RouterPackageCode const ( - LAB_RouterPackageCode RouterPackageCode = "LAB" - BASIC_RouterPackageCode RouterPackageCode = "BASIC" - PRO_RouterPackageCode RouterPackageCode = "PRO" - PREMIUM_RouterPackageCode RouterPackageCode = "PREMIUM" + LAB_RouterPackageCode RouterPackageCode = "LAB" + BASIC_RouterPackageCode RouterPackageCode = "BASIC" + STANDARD_RouterPackageCode RouterPackageCode = "STANDARD" + PREMIUM_RouterPackageCode RouterPackageCode = "PREMIUM" ) diff --git a/fabric/v4/model_service_metro.go b/fabric/v4/model_service_metro.go index 6136976..686c881 100644 --- a/fabric/v4/model_service_metro.go +++ b/fabric/v4/model_service_metro.go @@ -12,9 +12,11 @@ type ServiceMetro struct { // metro code Code string `json:"code,omitempty"` // metro name - Name string `json:"name,omitempty"` - Ibxs []string `json:"ibxs,omitempty"` - InTrail bool `json:"inTrail,omitempty"` + Name string `json:"name,omitempty"` + // max VC speed supported in Mbps + VcBandwidthMax int32 `json:"vcBandwidthMax,omitempty"` + Ibxs []string `json:"ibxs,omitempty"` + InTrail bool `json:"inTrail,omitempty"` // service metro display name DisplayName string `json:"displayName,omitempty"` SellerRegions map[string]string `json:"sellerRegions,omitempty"` diff --git a/fabric/v4/model_service_metros.go b/fabric/v4/model_service_metros.go new file mode 100644 index 0000000..90496e2 --- /dev/null +++ b/fabric/v4/model_service_metros.go @@ -0,0 +1,15 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Service Profile Metros +type ServiceMetros struct { + Data []ServiceMetro `json:"data,omitempty"` + Pagination *Pagination `json:"pagination,omitempty"` +} diff --git a/fabric/v4/model_validate_connection_request.go b/fabric/v4/model_validate_request.go similarity index 87% rename from fabric/v4/model_validate_connection_request.go rename to fabric/v4/model_validate_request.go index d4c629d..72b67e8 100644 --- a/fabric/v4/model_validate_connection_request.go +++ b/fabric/v4/model_validate_request.go @@ -9,6 +9,6 @@ package v4 // Validate connection auth api key or vlan -type ValidateConnectionRequest struct { - Filter *ValidateSubnetRequestFilter `json:"filter,omitempty"` +type ValidateRequest struct { + Filter *ValidateRequestFilter `json:"filter,omitempty"` } diff --git a/fabric/v4/model_validate_subnet_request_filter.go b/fabric/v4/model_validate_request_filter.go similarity index 86% rename from fabric/v4/model_validate_subnet_request_filter.go rename to fabric/v4/model_validate_request_filter.go index d710b38..fabf2e9 100644 --- a/fabric/v4/model_validate_subnet_request_filter.go +++ b/fabric/v4/model_validate_request_filter.go @@ -9,6 +9,6 @@ package v4 // Filters -type ValidateSubnetRequestFilter struct { - And []ValidateSubnetRequestFilterAnd `json:"and,omitempty"` +type ValidateRequestFilter struct { + And []ValidateRequestFilterAnd `json:"and,omitempty"` } diff --git a/fabric/v4/model_validate_subnet_request_filter_and.go b/fabric/v4/model_validate_request_filter_and.go similarity index 95% rename from fabric/v4/model_validate_subnet_request_filter_and.go rename to fabric/v4/model_validate_request_filter_and.go index d2130db..c1cad63 100644 --- a/fabric/v4/model_validate_subnet_request_filter_and.go +++ b/fabric/v4/model_validate_request_filter_and.go @@ -8,7 +8,7 @@ */ package v4 -type ValidateSubnetRequestFilterAnd struct { +type ValidateRequestFilterAnd struct { // Path to property Property string `json:"property,omitempty"` // Type of operation diff --git a/fabric/v4/model_virtual_network.go b/fabric/v4/model_virtual_network.go new file mode 100644 index 0000000..afb85cb --- /dev/null +++ b/fabric/v4/model_virtual_network.go @@ -0,0 +1,17 @@ +/* + * Equinix Fabric API v4 + * + * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
+ * + * Contact: api-support@equinix.com + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package v4 + +// Virtual Network Information +type VirtualNetwork struct { + // The Canonical URL at which the resource resides. + Href string `json:"href,omitempty"` + // Equinix-assigned Virtual Network identifier + Uuid string `json:"uuid,omitempty"` +} diff --git a/go.mod b/go.mod index 994fc69..ff1beb0 100644 --- a/go.mod +++ b/go.mod @@ -4,12 +4,12 @@ go 1.20 require ( github.com/antihax/optional v1.0.0 - golang.org/x/oauth2 v0.13.0 + golang.org/x/oauth2 v0.15.0 ) require ( github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/net v0.16.0 // indirect + golang.org/x/net v0.19.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.31.0 // indirect ) diff --git a/go.sum b/go.sum index 6af0e48..763c5d5 100644 --- a/go.sum +++ b/go.sum @@ -8,10 +8,10 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos= -golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= -golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= +golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/spec.fetched.yaml b/spec.fetched.yaml index 137d843..27a9688 100644 --- a/spec.fetched.yaml +++ b/spec.fetched.yaml @@ -10,7 +10,7 @@ info: license: name: Equinix Inc url: https://developer.equinix.com/agreement - version: '4.10' + version: '4.11' externalDocs: description: Find more information on Equinix Developer Portal url: https://developer.equinix.com @@ -79,8 +79,6 @@ paths: $ref: "#/components/examples/COLO2AlibabaSPwithDot1q" Colo2Sp-Aws-Primary: $ref: "#/components/examples/COLO2AWSSPwithDot1q-Primary" - Colo2Sp-Aws-Secondary: - $ref: "#/components/examples/COLO2AWSSPwithDot1q-Secondary" Colo2Sp-AzureDot1Q: $ref: "#/components/examples/COLO2AzureSPwithDot1q-Primary" Colo2Sp-AzureQinq: @@ -143,6 +141,8 @@ paths: $ref: "#/components/examples/AsideServiceToken2PrivateSP-NE" AsideServiceToken2ZsideServiceToken: $ref: "#/components/examples/AsideServiceToken2ZsideServiceToken" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws" required: true responses: "201": @@ -174,6 +174,8 @@ paths: $ref: "#/components/examples/AsideServiceToken2PortResponseWithDot1q" ServiceToken2PortResponseQinQ: $ref: "#/components/examples/AsideServiceToken2PortResponseWithQinq" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws-Response" "400": description: Bad request content: @@ -2581,6 +2583,80 @@ paths: examples: example: $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros": + get: + tags: + - Service Profiles + summary: Get Profile Metros + description: Get service profile metros by UUID. + operationId: getServiceProfileMetrosByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceMetros" + examples: + ServiceProfileMetros: + $ref: "#/components/examples/ServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" "/fabric/v4/serviceTokens/{serviceTokenId}": get: tags: @@ -3396,12 +3472,1710 @@ paths: application/json: schema: $ref: "#/components/schemas/ErrorList" - "404": - description: Not Found + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/connections/{connectionId}/routeFilters": + get: + tags: + - Route Filters + summary: Get All RouteFilters + description: This API provides capability to view all Route Filters attached to a Connection + operationId: getConnectionRouteFilters + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetAllConnectionRouteFiltersResponse" + examples: + connectionRouteFiltersResponse: + $ref: "#/components/examples/ConnectionRouteFiltersGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Route Filter + description: This API provides capability to view a specific Route Filter attached to a Connection + operationId: getConnectionRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + connectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filters + summary: Attach Route Filter + description: This API provides capability to attach a Route Filter to a Connection + operationId: attachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFiltersBase" + examples: + ConnectionRouteFilterAttachInboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterInbound" + ConnectionRouteFilterAttachOutboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterOutbound" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + connectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidDirection: + $ref: "#/components/examples/400_invalid_direction" + TransientState: + $ref: "#/components/examples/400_transient_state" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Detach Route Filter + description: This API provides capability to detach a Route Filter from a Connection + operationId: detachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + connectionRouteFilterDetachInboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterInboundResponse" + connectionRouteFilterDetachOutboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterOutboundResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_state" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routeFilters: + post: + tags: + - Route Filters + summary: Create Route Filters + description: This API provides capability to create a Route Filter + operationId: createRouteFilter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersBase" + examples: + RouteFilterBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + getSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Filter By UUID + description: This API provides capability to view a Route Filter by UUID + operationId: getRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + getSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filters + summary: Replace Route Filter + description: This API provides capability to replace a Route Filter completely + operationId: replaceRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersBase" + examples: + RouteFilterIpv4ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterIPv4" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + routeFilterIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterIpv4ReplaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Delete Route Filter + description: This API provides capability to delete a Route Filter + operationId: deleteRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_attached_connection" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filters + summary: Patch Route Filter + description: This API provides capability to partially update a Route Filter + operationId: patchRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersPatchRequest" + examples: + RouteFilterNamePatchExample: + $ref: "#/components/examples/PatchRouteFilterName" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterNamePatchResponse: + $ref: "#/components/examples/RouteFilterNamePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes": + get: + tags: + - Route Filters + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter's Changes + operationId: getRouteFilterChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeDataResponse" + examples: + RouteFilterChangesResponse: + $ref: "#/components/examples/RouteFilterGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}": + get: + tags: + - Route Filters + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter's Changes + operationId: getRouteFilterChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_1" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/connections": + get: + tags: + - Route Filters + summary: Get Connections + description: This API provides capability to view all Connections using the Route Filter + operationId: getRouteFilterConnections + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterGetConnectionsResponse" + examples: + routeFilterGetConnectionsResponse: + $ref: "#/components/examples/RouteFilterGetConnectionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules": + get: + tags: + - Route Filter Rules + summary: GetRFRules + description: This API provides capability to get all Route Filters Rules for Fabric + operationId: getRouteFilterRules + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilters: + $ref: "#/components/examples/RouteFilterRulesGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Route Filter Rules + summary: Create RFRule + description: This API provides capability to create a Route Filter Rule + operationId: createRouteFilterRule + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterRuleBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + getSpecificRouteFilterRuleResponse: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}": + get: + tags: + - Route Filter Rules + summary: GetRFRule By UUID + description: This API provides capability to view a Route Filter Rule by UUID + operationId: getRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + getSpecificRouteFilterRuleResponse: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filter Rules + summary: ReplaceRFRule + description: This API provides capability to replace a Route Filter Rule completely + operationId: replaceRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterIpv4ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterRuleIPv4" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + routeFilterRuleIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleIpv4ReplaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filter Rules + summary: DeleteRFRule + description: This API provides capability to delete a Route Filter Rule + operationId: deleteRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterRuleDeleteBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_filter" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filter Rules + summary: PatchRFilterRule + description: This API provides capability to partially update a Route Filter Rule + operationId: patchRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPatchRequest" + examples: + RouteFilterRuleNamePatchExample: + $ref: "#/components/examples/PatchRouteFilterRulePrefixMatch" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterNamePatchResponse: + $ref: "#/components/examples/RouteFilterNamePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes": + get: + tags: + - Route Filter Rules + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter Rule's Changes + operationId: getRouteFilterRuleChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Rule Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeDataResponse" + examples: + RouteFilterRuleChangesResponse: + $ref: "#/components/examples/RouteFilterRulesGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}": + get: + tags: + - Route Filter Rules + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter Rule's Changes + operationId: getRouteFilterRuleChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: changeId + in: path + description: Route Filter Rule Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_2" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterRuleGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk": + post: + tags: + - Route Filter Rules + summary: Bulk RFRules + description: This API provides capability to create bulk route filter rules + operationId: createRouteFilterRulesInBulk + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPostRequest" + required: true + responses: + "202": + description: Successful operation content: application/json: schema: - $ref: "#/components/schemas/ErrorList" + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilters: + $ref: "#/components/examples/RouteFilterRulesGetAll" /fabric/v4/routers: post: tags: @@ -3419,7 +5193,7 @@ paths: CreateLabPackage: $ref: "#/components/examples/CreateLabPackage" CreateProPackage: - $ref: "#/components/examples/CreateProPackage" + $ref: "#/components/examples/CreateStandardPackage" required: true responses: "200": @@ -3966,7 +5740,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ValidateSubnetRequest" + $ref: "#/components/schemas/ValidateRequest" examples: ValidateDirectIpv4: $ref: "#/components/examples/Request-direct-ipv4" @@ -4234,7 +6008,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ValidateConnectionRequest" + $ref: "#/components/schemas/ValidateRequest" examples: Alibaba-ValidateAuthKey: $ref: "#/components/examples/Request_Alibaba" @@ -4763,7 +6537,7 @@ paths: description: Network Change UUID required: true schema: - $ref: "#/components/schemas/ChangeId_1" + $ref: "#/components/schemas/ChangeId_3" responses: "200": description: Fabric Network Access point object @@ -4814,8 +6588,8 @@ paths: get: tags: - Precision Time - summary: Get Time Service - description: The API provides capability to get precision timing service's details + summary: Get time service + description: The API provides capability to get prevision timing service's details operationId: getTimeServicesById parameters: - name: serviceId @@ -4968,7 +6742,7 @@ paths: delete: tags: - Precision Time - summary: Delete Time Service + summary: Delete time service description: Delete EPT service by it's uuid operationId: deleteTimeServiceById parameters: @@ -5027,7 +6801,7 @@ paths: patch: tags: - Precision Time - summary: Patch Time Service + summary: Patch time service description: The API provides capability to update timing service operationId: updateTimeServicesById parameters: @@ -5194,7 +6968,7 @@ paths: post: tags: - Precision Time - summary: Create Time Service + summary: Create time service description: The API provides capability to create timing service operationId: createTimeServices parameters: [] @@ -5212,7 +6986,7 @@ paths: $ref: "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration" required: true responses: - "202": + "200": description: Successful operation content: application/json: @@ -5356,7 +7130,7 @@ paths: get: tags: - Precision Time - summary: Get all Connections + summary: Get Conn Links description: The API provides capability to get prevision timing service's details operationId: getTimeServicesConnectionsByServiceId parameters: @@ -5412,7 +7186,7 @@ paths: examples: example: $ref: "#/components/examples/500" - /fabric/v4/timeServicePackages: + /fabric/v4/timeServicesPackages: get: tags: - Precision Time @@ -5448,11 +7222,11 @@ paths: examples: example: $ref: "#/components/examples/500" - "/fabric/v4/timeServicePackages/{packageCode}": + "/fabric/v4/timeServicesPackages/{packageCode}": get: tags: - Precision Time - summary: Get Package by Code + summary: Get package by Code description: The API provides capability to get timing service's package by code operationId: getTimeServicesPackageByCode parameters: @@ -6629,6 +8403,9 @@ components: name: type: string description: metro name + vcBandwidthMax: + type: integer + description: max VC speed supported in Mbps ibxs: type: array items: @@ -6805,6 +8582,16 @@ components: type: object description: value to replace with description: Replace attribute value or sub-resource in the existing model + ServiceMetros: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ServiceMetro" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service Profile Metros ServiceTokenUUID: type: string description: Service Token UUID @@ -7286,50 +9073,375 @@ components: PortV4SearchRequest: type: object properties: - filter: - $ref: "#/components/schemas/PortExpression" + filter: + $ref: "#/components/schemas/PortExpression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/PortSortCriteria" + description: Search requests containing criteria + PortExpression: + type: object + properties: + and: + $ref: "#/components/schemas/PortExpressions" + or: + $ref: "#/components/schemas/PortExpressions" + property: + $ref: "#/components/schemas/PortSearchFieldName" + operator: + type: string + enum: + - = + values: + type: array + items: + type: string + PortExpressions: + type: array + items: + $ref: "#/components/schemas/PortExpression" + PortSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /project/projectId + - /settings/productCode + - /state + PortSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/PortSortDirection" + property: + $ref: "#/components/schemas/PortSortBy" + GetAllConnectionRouteFiltersResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filters attached to a Connection + items: + $ref: "#/components/schemas/ConnectionRouteFilterData" + RouteFilterId: + type: string + description: Route Filters UUID + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + ConnectionRouteFilterData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: + type: string + enum: + - ATTACHING + - ATTACHED + - DETACHED + - DETACHING + - FAILED + direction: + type: string + enum: + - INBOUND + - OUTBOUND + ConnectionRouteFiltersBase: + type: object + properties: + direction: + type: string + description: Route Filter direction to attach to a connection + enum: + - INBOUND + - OUTBOUND + RouteFiltersBase: + type: object + properties: + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + project: + $ref: "#/components/schemas/Project" + notifications: + type: array + description: Preferences for notifications on route filter configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + RouteFiltersData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + state: + $ref: "#/components/schemas/RouteFilterState" + change: + $ref: "#/components/schemas/RouteFiltersChange" + notMatchedRuleAction: + type: string + enum: + - ALLOW + - DENY + connectionsCount: + type: integer + example: 0 + project: + allOf: + - $ref: "#/components/schemas/Project" + - type: object + properties: + href: + type: string + description: Project URI + format: uri + example: https://api.equinix.com/resourceManager/v1/projects/567 + notifications: + type: array + description: Preferences for notifications on route filter configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + changelog: + $ref: "#/components/schemas/Changelog" + RouteFiltersPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters request + items: + $ref: "#/components/schemas/ConnectionChangeOperation" + RouteFilterChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RouteFilterChangeData" + description: List of Route Filter changes + ChangeId_1: + type: string + description: Route Filters Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/RouteFiltersChangeOperation" + description: Current state of latest Route Filter change + allOf: + - $ref: "#/components/schemas/RouteFiltersChange" + GetRouteFilterGetConnectionsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Connections using a Route Filter + items: + $ref: "#/components/schemas/RouteFilterConnectionsData" + GetRouteFilterRulesResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filter Rules + items: + $ref: "#/components/schemas/RouteFilterRulesData" + RouteFilterRulesBase: + type: object + properties: + name: + type: string + example: Private-subnet-filter + description: + type: string + description: Customer-provided Route Filter Rule description + prefix: + type: string + example: 192.168.0.0/24 + prefixMatch: + type: string + example: orlonger + default: orlonger + RouteFilterRulesData: + type: object + properties: + href: + type: string + description: Route Filter Rules URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER_RULE + - BGP_IPv6_PREFIX_FILTER_RULE + uuid: + type: string + description: Route Filter Rule identifier + format: uuid + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: + type: string + example: Private-subnet-filter-2 + description: + type: string + description: Customer-provided Route Filter Rule description + prefixMatch: + type: string + description: prefix matching operator + example: exact + default: orlonger + change: + $ref: "#/components/schemas/RouteFilterRulesChange" + action: + type: string + enum: + - PERMIT + - DENY + prefix: + type: string + example: 192.168.0.0/24 + changelog: + $ref: "#/components/schemas/Changelog" + RouteFilterRuleId: + type: string + description: Route Filter Rule UUID + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRulesPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters Rule request + items: + $ref: "#/components/schemas/RouteFilterChangePrefixMatch" + RouteFilterRulesChangeDataResponse: + type: object + properties: pagination: - $ref: "#/components/schemas/PaginationRequest" - sort: + $ref: "#/components/schemas/Pagination" + data: type: array items: - $ref: "#/components/schemas/PortSortCriteria" - description: Search requests containing criteria - PortExpression: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + description: List of Route Filter Rule changes + ChangeId_2: + type: string + description: Route Filter Rule Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterRulesChangeData: type: object properties: - and: - $ref: "#/components/schemas/PortExpressions" - or: - $ref: "#/components/schemas/PortExpressions" - property: - $ref: "#/components/schemas/PortSearchFieldName" - operator: + status: type: string + description: Current outcome of the change flow enum: - - = - values: - type: array - items: - type: string - PortExpressions: - type: array - items: - $ref: "#/components/schemas/PortExpression" - PortSearchFieldName: - type: string - description: Possible field names to use on filters - enum: - - /project/projectId - - /settings/productCode - - /state - PortSortCriteria: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + data: + $ref: "#/components/schemas/RouteFilterRulesChangeOperation" + description: Current state of latest Route Filter Rules change + allOf: + - $ref: "#/components/schemas/RouteFilterRulesChange" + RouteFilterRulesPostRequest: type: object properties: - direction: - $ref: "#/components/schemas/PortSortDirection" - property: - $ref: "#/components/schemas/PortSortBy" + data: + type: array + description: Route Filter Rule configuration + items: + $ref: "#/components/schemas/RouteFilterRulesBase" + description: Create Route Filter Rule POST request CloudRouterPostRequest: type: object properties: @@ -7565,12 +9677,12 @@ components: description: Data returned from the API call. items: $ref: "#/components/schemas/RouteTableEntry" - ValidateSubnetRequest: + ValidateRequest: type: object properties: filter: - $ref: "#/components/schemas/ValidateSubnetRequest_filter" - description: Validate subnet for Routing Protocol Configuration + $ref: "#/components/schemas/ValidateRequest_filter" + description: Validate connection auth api key or vlan ValidateSubnetResponse: type: object properties: @@ -7702,7 +9814,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM CloudRouterPackage: type: object @@ -7802,12 +9914,6 @@ components: apiServices: $ref: "#/components/schemas/ApiServices" description: GET Services Health - ValidateConnectionRequest: - type: object - properties: - filter: - $ref: "#/components/schemas/ValidateSubnetRequest_filter" - description: Validate connection auth api key or vlan ConnectionResponse: type: object properties: @@ -8051,7 +10157,7 @@ components: items: $ref: "#/components/schemas/NetworkChange" description: List of network changes - ChangeId_1: + ChangeId_3: type: string description: Network Change UUID format: uuid @@ -8098,7 +10204,7 @@ components: title: precisionTimeServiceResponse required: - href - - ipv4 + - networkingIpv4 - package - state - type @@ -8146,7 +10252,7 @@ components: description: fabric l2 connections used for the ept service items: $ref: "#/components/schemas/fabricConnectionUuid" - ipv4: + networkingIpv4: $ref: "#/components/schemas/ipv4" account: $ref: "#/components/schemas/account" @@ -8173,7 +10279,7 @@ components: type: string description: path inside document leading to updated parameter enum: - - /ipv4 + - /networkingIpv4 - /name - /advanceConfiguration/ntp - /advanceConfiguration/ptp @@ -8187,7 +10293,7 @@ components: required: - connections - name - - ipv4 + - networkingIpv4 - package - type type: object @@ -8208,7 +10314,7 @@ components: type: array items: $ref: "#/components/schemas/fabricConnectionUuid" - ipv4: + networkingIpv4: $ref: "#/components/schemas/ipv4" advanceConfiguration: $ref: "#/components/schemas/advanceConfiguration" @@ -9333,6 +11439,158 @@ components: default: /device/name enum: - /device/name + RouteFilterState: + type: string + description: Route Filter status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFiltersChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_UPDATE + - BGP_IPv4_PREFIX_FILTER_CREATION + - BGP_IPv4_PREFIX_FILTER_DELETION + - BGP_IPv6_PREFIX_FILTER_UPDATE + - BGP_IPv6_PREFIX_FILTER_CREATION + - BGP_IPv6_PREFIX_FILTER_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter change + RouteFiltersChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RouteFiltersBase" + description: Route Filter change operation data + RouteFilterConnectionsData: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: + $ref: "#/components/schemas/ConnectionType" + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: connection-1 + RouteFilterRulesChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter Rule change + RouteFilterChangePrefixMatch: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /prefixMatch + value: + type: object + description: new value for updated parameter + description: Route Filter Rule change operation data + RouteFilterRulesChangeOperation: + required: + - action + - name + - prefix + - type + type: object + properties: + name: + type: string + description: name of route filter rule + example: Private-subnet-filter + description: + type: string + description: cust provided description + type: + type: string + description: type of filter rule + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + prefix: + type: string + description: given prefix (does not change) + action: + type: string + description: change to be made + enum: + - PERMIT + - DENY + description: Route Filter change operation data SimplifiedLocationWithoutIBX: required: - metroCode @@ -9373,7 +11631,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM description: Fabric Cloud Router Package Type CloudRouterAccessPointState: @@ -9496,7 +11754,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM PackageChangeLog: type: object @@ -9771,6 +12029,8 @@ components: providerConnectionId: type: string description: Provider assigned Connection Id + virtualNetwork: + $ref: "#/components/schemas/VirtualNetwork" description: Access point object ConnectionCompanyProfile: type: object @@ -10195,6 +12455,7 @@ components: - SUBNET - CLOUD_ROUTER - NETWORK + - METAL_NETWORK SimplifiedPort: type: object properties: @@ -10337,23 +12598,26 @@ components: properties: href: type: string - description: Virtual Interface URI + description: Interface URI format: uri readOnly: true uuid: type: string - description: Equinix-assigned Virtual Device Interface identifier + description: Equinix-assigned Interface identifier format: uuid id: type: integer description: Interface id type: type: string - description: Virtual Device Interface type + description: Interface type enum: - CLOUD - NETWORK - description: Virtual Device Interface Information + projectId: + type: string + description: Interface Project ID + description: Interface Information SimplifiedNetwork: required: - uuid @@ -10405,6 +12669,19 @@ components: - MICROSOFT - PUBLIC - MANUAL + VirtualNetwork: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Network identifier + format: uuid + description: Virtual Network Information VirtualConnectionPriceConnectionType: type: string description: Virtual Connection type @@ -10527,6 +12804,7 @@ components: - DOT1Q - QINQ - EVPN_VXLAN + - VXLAN VirtualConnectionPriceAccessPointType: type: string description: Virtual Connection access point type @@ -10549,7 +12827,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM ConnectivitySourceType: type: string @@ -10585,11 +12863,13 @@ components: UNTAGGED: "#/components/schemas/LinkProtocolUntagged" DOT1Q: "#/components/schemas/LinkProtocolDot1q" QINQ: "#/components/schemas/LinkProtocolQinq" + VXLAN: "#/components/schemas/LinkProtocolVxlan" EVPN_VXLAN: "#/components/schemas/LinkProtocolEvpnVxlan" oneOf: - $ref: "#/components/schemas/LinkProtocolUntagged" - $ref: "#/components/schemas/LinkProtocolDot1q" - $ref: "#/components/schemas/LinkProtocolQinq" + - $ref: "#/components/schemas/LinkProtocolVxlan" - $ref: "#/components/schemas/LinkProtocolEvpnVxlan" LinkProtocolUntagged: type: object @@ -10653,6 +12933,19 @@ components: type: integer description: Subinterface identifier description: Connection link protocol configuration - QINQ + LinkProtocolVxlan: + required: + - vni + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vni: + maximum: 16777215 + minimum: 4097 + type: integer + description: Virtual Network Identifier + description: Connection link protocol configuration - VXLAN LinkProtocolEvpnVxlan: required: - type5vni @@ -10690,7 +12983,7 @@ components: type: string reason: type: string - ValidateSubnetRequest_filter_and: + ValidateRequest_filter_and: properties: property: type: string @@ -10703,13 +12996,13 @@ components: description: Values for the given property items: type: string - ValidateSubnetRequest_filter: + ValidateRequest_filter: type: object properties: and: type: array items: - $ref: "#/components/schemas/ValidateSubnetRequest_filter_and" + $ref: "#/components/schemas/ValidateRequest_filter_and" description: Filters PortOrder_purchaseOrder: type: object @@ -11313,38 +13606,6 @@ components: - type: ALL emails: - test@test.com - COLO2AWSSPwithDot1q-Secondary: - value: - type: EVPL_VC - name: Secondary-Aws - bandwidth: 1000 - redundancy: - group: e04db764-f865-470b-8394-d2efdd651577 - priority: SECONDARY - aSide: - accessPoint: - type: COLO - port: - uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d - linkProtocol: - type: DOT1Q - vlanTag: 1001 - order: - purchaseOrderNumber: po1234 - zSide: - accessPoint: - type: SP - profile: - type: L2_PROFILE - uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c - location: - metroCode: DC - sellerRegion: us-east-1 - authenticationKey: xxx-xxx-xxx - notifications: - - type: ALL - emails: - - test@test.com COLO2AzureSPwithDot1q-Primary: value: type: EVPL_VC @@ -12208,6 +14469,30 @@ components: - type: ALL emails: - test@test.com + Metal2Sp-Aws: + value: + type: EVPL_VC + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 ConnectionExample: value: href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 @@ -12781,6 +15066,48 @@ components: order: purchaseOrderNumber: "1122334" billingTier: Up to 50 MB + Metal2Sp-Aws-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + href: https://api.equinix.com/metal/v1/virtual-networks/a867f685-41b0-1b07-6de0-320a5c00abd + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + href: https://api.equinix.com/accountService/v1/accounts/123213 + accountNumber: 123213 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z createBulkGeneric: value: data: @@ -15824,7 +18151,7 @@ components: values: - LAB - BASIC - - PRO + - STANDARD - PREMIUM IpBlockProduct: value: @@ -18990,6 +21317,558 @@ components: sort: - property: /device/name direction: DESC + ConnectionRouteFiltersGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/52f7791a-fe90-49bc-8807-18b3d6eda566 + type: BGP_IPv6_PREFIX_FILTER + uuid: 52f7791a-fe90-49bc-8807-18b3d6eda566 + attachmentStatus: ATTACHED + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + type: BGP_IPv4_PREFIX_FILTER + uuid: 8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + attachmentStatus: ATTACHED + direction: OUTBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/65d74639-8f48-4e10-9684-45d364645e97 + type: BGP_IPv6_PREFIX_FILTER + uuid: 65d74639-8f48-4e10-9684-45d364645e97 + attachmentStatus: ATTACHED + direction: OUTBOUND + 400_route_filters: + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: type + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: name + - errorCode: EQ-3044002 + errorMessage: Connection already deleted + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: connectionId + - errorCode: EQ-3044003 + errorMessage: Route Filter is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: routeFilterId + - errorCode: EQ-3044003 + errorMessage: Connection is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: connectionId + AttachConnectionRouteFiltersResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: ATTACHING + direction: INBOUND + AttachConnectionRouteFilterInbound: + value: + direction: INBOUND + AttachConnectionRouteFilterOutbound: + value: + direction: OUTBOUND + 400_invalid_direction: + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: direction + 400_transient_state: + value: + - errorCode: EQ-3044008 + errorMessage: Cannot attach or detach Route Filter with Connection in transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot attach or detach Route Filter with Connection in transient state + DetachConnectionRouteFilterInboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + DetachConnectionRouteFilterOutboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: OUTBOUND + RouteFilterCreateBgpIpv4Prefix: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + type: ALL + emails: + - test@equinix.com + RouteFilterCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + UpdateRouteFilterIPv4: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4-update + description: Test filter update + project: + projectId: 789 + notifications: + - type: ALL + emails: + - test@equinix.com + RouteFilterIpv4ReplaceResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-update + description: Test filter update + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 789 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/c2ec84c5-6de6-4f5c-b506-3ce218630c31 + type: BGP_IPv4_PREFIX_FILTER_DELETION + uuid: c2ec84c5-6de6-4f5c-b506-3ce218630c31 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_attached_connection: + value: + - errorCode: EQ-3044007 + errorMessage: Cannot delete Route Filter still attached to a Connection + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter still attached to a Connection + PatchRouteFilterName: + value: + - op: replace + path: /name + value: My-route-filter-v4-updated + RouteFilterNamePatchResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-updated + description: Test filter + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + 400_invalid_operation: + value: + - errorCode: EQ-3044011 + errorMessage: Invalid Argument passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Only replace name operation is supported. + RouteFilterGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /name + value: My-route-filter-v4-updated + previousValue: My-route-filter-v4 + RouteFilterGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + RouteFilterGetConnectionsResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + next: null + previous: null + data: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: IP_VC + name: test-connection + uuid: 05de355a-6c9d-4636-8d7d-7b7595821c15 + RouteFilterRulesGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleCreateBgpIpv4Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + RouteFilterRuleCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + UpdateRouteFilterRuleIPv4: + value: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT + RouteFilterRuleIpv4ReplaceResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + prefixMach: exact + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 192.168.0.0/24 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv4_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 192.168.0.0/24 + prefixMach: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_transient_filter: + value: + - errorCode: EQ-3044015 + errorMessage: Cannot delete Route Filter Rule, Route Filter transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter Rule, Route filter is in transient state + PatchRouteFilterRulePrefixMatch: + value: + - op: replace + path: /prefixMatch + value: orlonger + RouteFilterRulesGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 3 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a40085a4-f0cc-416c-af01-286f7f7ec736 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a40085a4-f0cc-416c-af01-286f7f7ec736 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: orlonger + previousValue: exact + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: exact + previousValue: orlonger + RouteFilterRuleGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT CreateLabPackage: value: type: XF_ROUTER @@ -19006,14 +21885,14 @@ components: accountNumber: 272010 project: projectId: "995072000433550" - CreateProPackage: + CreateStandardPackage: value: type: XF_ROUTER name: My-Cloud-Router location: metroCode: SV package: - code: PRO + code: STANDARD notifications: - type: ALL emails: @@ -19033,7 +21912,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19069,7 +21948,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19134,7 +22013,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19167,12 +22046,6 @@ components: deletedByFullName: abc deletedByEmail: abc@xyz.com deletedDateTime: 2021-09-24T06:59:46Z - 400_invalid_operation: - value: - - errorCode: EQ-3040054 - errorMessage: Invalid Argument passed - correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 - details: Only replace name, replace package and replace notifications operations are supported. CloudRouterActionResponse: value: type: ROUTE_TABLE_ENTRY_UPDATE @@ -19297,7 +22170,7 @@ components: value: - errorCode: EQ-2041022 errorMessage: The provided subnet is not valid. - details: The provided subnet is overlapping to other connection in the same FCR. + details: The provided subnet is overlapping with other connections in the same Fabric Cloud Router. correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 SearchFilterByNameAndMetroName: value: @@ -19339,7 +22212,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19371,7 +22244,7 @@ components: pagination: offset: 0 limit: 20 - total: 1 + total: 2 data: - href: https://api.equinix.com/fabric/v4/routerPackages/LAB type: ROUTER_PACKAGE @@ -19392,6 +22265,25 @@ components: changeLog: createdDateTime: 2022-02-10T00:14:47Z updatedDateTime: 2022-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/STANDARD + type: ROUTER_PACKAGE + code: STANDARD + description: string + totalIPv4RoutesMax: 1000 + totalIPv6RoutesMax: 100 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 10000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z healthResponse: value: href: null @@ -20223,9 +23115,9 @@ components: - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicesPackages/NTP_STANDARD code: NTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20474,7 +23366,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: NTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20487,7 +23379,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20500,7 +23392,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20534,30 +23426,44 @@ components: limit: 20 total: 4 data: - - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 1 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + accuracyUnit: millisecond clientsPerSecondMax: 2000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_ENTERPRISE code: NTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 5 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + accuracyUnit: millisecond clientsPerSecondMax: 1000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/PTP_STANDARD code: PTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 5 + bandwidthUnit: Mbps + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true @@ -20568,6 +23474,10 @@ components: code: PTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 10 + bandwidthUnit: Mbps + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 20 redundancySupported: true multiSubnetSupported: true @@ -20580,6 +23490,11 @@ components: code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 10 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true diff --git a/spec.patched.yaml b/spec.patched.yaml index d0d2f42..4238e09 100644 --- a/spec.patched.yaml +++ b/spec.patched.yaml @@ -10,7 +10,7 @@ info: license: name: Equinix Inc url: https://developer.equinix.com/agreement - version: '4.10' + version: '4.11' externalDocs: description: Find more information on Equinix Developer Portal url: https://developer.equinix.com @@ -79,8 +79,6 @@ paths: $ref: "#/components/examples/COLO2AlibabaSPwithDot1q" Colo2Sp-Aws-Primary: $ref: "#/components/examples/COLO2AWSSPwithDot1q-Primary" - Colo2Sp-Aws-Secondary: - $ref: "#/components/examples/COLO2AWSSPwithDot1q-Secondary" Colo2Sp-AzureDot1Q: $ref: "#/components/examples/COLO2AzureSPwithDot1q-Primary" Colo2Sp-AzureQinq: @@ -143,6 +141,8 @@ paths: $ref: "#/components/examples/AsideServiceToken2PrivateSP-NE" AsideServiceToken2ZsideServiceToken: $ref: "#/components/examples/AsideServiceToken2ZsideServiceToken" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws" required: true responses: "201": @@ -174,6 +174,8 @@ paths: $ref: "#/components/examples/AsideServiceToken2PortResponseWithDot1q" ServiceToken2PortResponseQinQ: $ref: "#/components/examples/AsideServiceToken2PortResponseWithQinq" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws-Response" "400": description: Bad request content: @@ -2581,6 +2583,80 @@ paths: examples: example: $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros": + get: + tags: + - Service Profiles + summary: Get Profile Metros + description: Get service profile metros by UUID. + operationId: getServiceProfileMetrosByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceMetros" + examples: + ServiceProfileMetros: + $ref: "#/components/examples/ServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" "/fabric/v4/serviceTokens/{serviceTokenId}": get: tags: @@ -3396,12 +3472,1710 @@ paths: application/json: schema: $ref: "#/components/schemas/ErrorList" - "404": - description: Not Found + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/connections/{connectionId}/routeFilters": + get: + tags: + - Route Filters + summary: Get All RouteFilters + description: This API provides capability to view all Route Filters attached to a Connection + operationId: getConnectionRouteFilters + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetAllConnectionRouteFiltersResponse" + examples: + connectionRouteFiltersResponse: + $ref: "#/components/examples/ConnectionRouteFiltersGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Route Filter + description: This API provides capability to view a specific Route Filter attached to a Connection + operationId: getConnectionRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + connectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filters + summary: Attach Route Filter + description: This API provides capability to attach a Route Filter to a Connection + operationId: attachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFiltersBase" + examples: + ConnectionRouteFilterAttachInboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterInbound" + ConnectionRouteFilterAttachOutboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterOutbound" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + connectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidDirection: + $ref: "#/components/examples/400_invalid_direction" + TransientState: + $ref: "#/components/examples/400_transient_state" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Detach Route Filter + description: This API provides capability to detach a Route Filter from a Connection + operationId: detachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + connectionRouteFilterDetachInboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterInboundResponse" + connectionRouteFilterDetachOutboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterOutboundResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_state" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routeFilters: + post: + tags: + - Route Filters + summary: Create Route Filters + description: This API provides capability to create a Route Filter + operationId: createRouteFilter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersBase" + examples: + RouteFilterBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + getSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Filter By UUID + description: This API provides capability to view a Route Filter by UUID + operationId: getRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + getSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filters + summary: Replace Route Filter + description: This API provides capability to replace a Route Filter completely + operationId: replaceRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersBase" + examples: + RouteFilterIpv4ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterIPv4" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + routeFilterIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterIpv4ReplaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Delete Route Filter + description: This API provides capability to delete a Route Filter + operationId: deleteRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_attached_connection" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filters + summary: Patch Route Filter + description: This API provides capability to partially update a Route Filter + operationId: patchRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersPatchRequest" + examples: + RouteFilterNamePatchExample: + $ref: "#/components/examples/PatchRouteFilterName" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterNamePatchResponse: + $ref: "#/components/examples/RouteFilterNamePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes": + get: + tags: + - Route Filters + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter's Changes + operationId: getRouteFilterChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeDataResponse" + examples: + RouteFilterChangesResponse: + $ref: "#/components/examples/RouteFilterGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}": + get: + tags: + - Route Filters + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter's Changes + operationId: getRouteFilterChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_1" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/connections": + get: + tags: + - Route Filters + summary: Get Connections + description: This API provides capability to view all Connections using the Route Filter + operationId: getRouteFilterConnections + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterGetConnectionsResponse" + examples: + routeFilterGetConnectionsResponse: + $ref: "#/components/examples/RouteFilterGetConnectionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules": + get: + tags: + - Route Filter Rules + summary: GetRFRules + description: This API provides capability to get all Route Filters Rules for Fabric + operationId: getRouteFilterRules + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilters: + $ref: "#/components/examples/RouteFilterRulesGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Route Filter Rules + summary: Create RFRule + description: This API provides capability to create a Route Filter Rule + operationId: createRouteFilterRule + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterRuleBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + getSpecificRouteFilterRuleResponse: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}": + get: + tags: + - Route Filter Rules + summary: GetRFRule By UUID + description: This API provides capability to view a Route Filter Rule by UUID + operationId: getRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + getSpecificRouteFilterRuleResponse: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filter Rules + summary: ReplaceRFRule + description: This API provides capability to replace a Route Filter Rule completely + operationId: replaceRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterIpv4ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterRuleIPv4" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + routeFilterRuleIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleIpv4ReplaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_route_filters" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filter Rules + summary: DeleteRFRule + description: This API provides capability to delete a Route Filter Rule + operationId: deleteRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterRuleDeleteBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_filter" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filter Rules + summary: PatchRFilterRule + description: This API provides capability to partially update a Route Filter Rule + operationId: patchRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPatchRequest" + examples: + RouteFilterRuleNamePatchExample: + $ref: "#/components/examples/PatchRouteFilterRulePrefixMatch" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterNamePatchResponse: + $ref: "#/components/examples/RouteFilterNamePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes": + get: + tags: + - Route Filter Rules + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter Rule's Changes + operationId: getRouteFilterRuleChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Rule Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeDataResponse" + examples: + RouteFilterRuleChangesResponse: + $ref: "#/components/examples/RouteFilterRulesGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}": + get: + tags: + - Route Filter Rules + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter Rule's Changes + operationId: getRouteFilterRuleChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: changeId + in: path + description: Route Filter Rule Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_2" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterRuleGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk": + post: + tags: + - Route Filter Rules + summary: Bulk RFRules + description: This API provides capability to create bulk route filter rules + operationId: createRouteFilterRulesInBulk + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPostRequest" + required: true + responses: + "202": + description: Successful operation content: application/json: schema: - $ref: "#/components/schemas/ErrorList" + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilters: + $ref: "#/components/examples/RouteFilterRulesGetAll" /fabric/v4/routers: post: tags: @@ -3419,7 +5193,7 @@ paths: CreateLabPackage: $ref: "#/components/examples/CreateLabPackage" CreateProPackage: - $ref: "#/components/examples/CreateProPackage" + $ref: "#/components/examples/CreateStandardPackage" required: true responses: "200": @@ -3966,7 +5740,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ValidateSubnetRequest" + $ref: "#/components/schemas/ValidateRequest" examples: ValidateDirectIpv4: $ref: "#/components/examples/Request-direct-ipv4" @@ -4234,7 +6008,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ValidateConnectionRequest" + $ref: "#/components/schemas/ValidateRequest" examples: Alibaba-ValidateAuthKey: $ref: "#/components/examples/Request_Alibaba" @@ -4763,7 +6537,7 @@ paths: description: Network Change UUID required: true schema: - $ref: "#/components/schemas/ChangeId_1" + $ref: "#/components/schemas/ChangeId_3" responses: "200": description: Fabric Network Access point object @@ -4814,8 +6588,8 @@ paths: get: tags: - Precision Time - summary: Get Time Service - description: The API provides capability to get precision timing service's details + summary: Get time service + description: The API provides capability to get prevision timing service's details operationId: getTimeServicesById parameters: - name: serviceId @@ -4968,7 +6742,7 @@ paths: delete: tags: - Precision Time - summary: Delete Time Service + summary: Delete time service description: Delete EPT service by it's uuid operationId: deleteTimeServiceById parameters: @@ -5027,7 +6801,7 @@ paths: patch: tags: - Precision Time - summary: Patch Time Service + summary: Patch time service description: The API provides capability to update timing service operationId: updateTimeServicesById parameters: @@ -5194,7 +6968,7 @@ paths: post: tags: - Precision Time - summary: Create Time Service + summary: Create time service description: The API provides capability to create timing service operationId: createTimeServices parameters: [] @@ -5212,7 +6986,7 @@ paths: $ref: "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration" required: true responses: - "202": + "200": description: Successful operation content: application/json: @@ -5356,7 +7130,7 @@ paths: get: tags: - Precision Time - summary: Get all Connections + summary: Get Conn Links description: The API provides capability to get prevision timing service's details operationId: getTimeServicesConnectionsByServiceId parameters: @@ -5412,7 +7186,7 @@ paths: examples: example: $ref: "#/components/examples/500" - /fabric/v4/timeServicePackages: + /fabric/v4/timeServicesPackages: get: tags: - Precision Time @@ -5448,11 +7222,11 @@ paths: examples: example: $ref: "#/components/examples/500" - "/fabric/v4/timeServicePackages/{packageCode}": + "/fabric/v4/timeServicesPackages/{packageCode}": get: tags: - Precision Time - summary: Get Package by Code + summary: Get package by Code description: The API provides capability to get timing service's package by code operationId: getTimeServicesPackageByCode parameters: @@ -6629,6 +8403,9 @@ components: name: type: string description: metro name + vcBandwidthMax: + type: integer + description: max VC speed supported in Mbps ibxs: type: array items: @@ -6805,6 +8582,16 @@ components: type: object description: value to replace with description: Replace attribute value or sub-resource in the existing model + ServiceMetros: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ServiceMetro" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service Profile Metros ServiceTokenUUID: type: string description: Service Token UUID @@ -7286,50 +9073,375 @@ components: PortV4SearchRequest: type: object properties: - filter: - $ref: "#/components/schemas/PortExpression" + filter: + $ref: "#/components/schemas/PortExpression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/PortSortCriteria" + description: Search requests containing criteria + PortExpression: + type: object + properties: + and: + $ref: "#/components/schemas/PortExpressions" + or: + $ref: "#/components/schemas/PortExpressions" + property: + $ref: "#/components/schemas/PortSearchFieldName" + operator: + type: string + enum: + - = + values: + type: array + items: + type: string + PortExpressions: + type: array + items: + $ref: "#/components/schemas/PortExpression" + PortSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /project/projectId + - /settings/productCode + - /state + PortSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/PortSortDirection" + property: + $ref: "#/components/schemas/PortSortBy" + GetAllConnectionRouteFiltersResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filters attached to a Connection + items: + $ref: "#/components/schemas/ConnectionRouteFilterData" + RouteFilterId: + type: string + description: Route Filters UUID + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + ConnectionRouteFilterData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: + type: string + enum: + - ATTACHING + - ATTACHED + - DETACHED + - DETACHING + - FAILED + direction: + type: string + enum: + - INBOUND + - OUTBOUND + ConnectionRouteFiltersBase: + type: object + properties: + direction: + type: string + description: Route Filter direction to attach to a connection + enum: + - INBOUND + - OUTBOUND + RouteFiltersBase: + type: object + properties: + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + project: + $ref: "#/components/schemas/Project" + notifications: + type: array + description: Preferences for notifications on route filter configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + RouteFiltersData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + state: + $ref: "#/components/schemas/RouteFilterState" + change: + $ref: "#/components/schemas/RouteFiltersChange" + notMatchedRuleAction: + type: string + enum: + - ALLOW + - DENY + connectionsCount: + type: integer + example: 0 + project: + allOf: + - $ref: "#/components/schemas/Project" + - type: object + properties: + href: + type: string + description: Project URI + format: uri + example: https://api.equinix.com/resourceManager/v1/projects/567 + notifications: + type: array + description: Preferences for notifications on route filter configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + changelog: + $ref: "#/components/schemas/Changelog" + RouteFiltersPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters request + items: + $ref: "#/components/schemas/ConnectionChangeOperation" + RouteFilterChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RouteFilterChangeData" + description: List of Route Filter changes + ChangeId_1: + type: string + description: Route Filters Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/RouteFiltersChangeOperation" + description: Current state of latest Route Filter change + allOf: + - $ref: "#/components/schemas/RouteFiltersChange" + GetRouteFilterGetConnectionsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Connections using a Route Filter + items: + $ref: "#/components/schemas/RouteFilterConnectionsData" + GetRouteFilterRulesResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filter Rules + items: + $ref: "#/components/schemas/RouteFilterRulesData" + RouteFilterRulesBase: + type: object + properties: + name: + type: string + example: Private-subnet-filter + description: + type: string + description: Customer-provided Route Filter Rule description + prefix: + type: string + example: 192.168.0.0/24 + prefixMatch: + type: string + example: orlonger + default: orlonger + RouteFilterRulesData: + type: object + properties: + href: + type: string + description: Route Filter Rules URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER_RULE + - BGP_IPv6_PREFIX_FILTER_RULE + uuid: + type: string + description: Route Filter Rule identifier + format: uuid + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: + type: string + example: Private-subnet-filter-2 + description: + type: string + description: Customer-provided Route Filter Rule description + prefixMatch: + type: string + description: prefix matching operator + example: exact + default: orlonger + change: + $ref: "#/components/schemas/RouteFilterRulesChange" + action: + type: string + enum: + - PERMIT + - DENY + prefix: + type: string + example: 192.168.0.0/24 + changelog: + $ref: "#/components/schemas/Changelog" + RouteFilterRuleId: + type: string + description: Route Filter Rule UUID + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRulesPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters Rule request + items: + $ref: "#/components/schemas/RouteFilterChangePrefixMatch" + RouteFilterRulesChangeDataResponse: + type: object + properties: pagination: - $ref: "#/components/schemas/PaginationRequest" - sort: + $ref: "#/components/schemas/Pagination" + data: type: array items: - $ref: "#/components/schemas/PortSortCriteria" - description: Search requests containing criteria - PortExpression: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + description: List of Route Filter Rule changes + ChangeId_2: + type: string + description: Route Filter Rule Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterRulesChangeData: type: object properties: - and: - $ref: "#/components/schemas/PortExpressions" - or: - $ref: "#/components/schemas/PortExpressions" - property: - $ref: "#/components/schemas/PortSearchFieldName" - operator: + status: type: string + description: Current outcome of the change flow enum: - - = - values: - type: array - items: - type: string - PortExpressions: - type: array - items: - $ref: "#/components/schemas/PortExpression" - PortSearchFieldName: - type: string - description: Possible field names to use on filters - enum: - - /project/projectId - - /settings/productCode - - /state - PortSortCriteria: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + data: + $ref: "#/components/schemas/RouteFilterRulesChangeOperation" + description: Current state of latest Route Filter Rules change + allOf: + - $ref: "#/components/schemas/RouteFilterRulesChange" + RouteFilterRulesPostRequest: type: object properties: - direction: - $ref: "#/components/schemas/PortSortDirection" - property: - $ref: "#/components/schemas/PortSortBy" + data: + type: array + description: Route Filter Rule configuration + items: + $ref: "#/components/schemas/RouteFilterRulesBase" + description: Create Route Filter Rule POST request CloudRouterPostRequest: type: object properties: @@ -7565,12 +9677,12 @@ components: description: Data returned from the API call. items: $ref: "#/components/schemas/RouteTableEntry" - ValidateSubnetRequest: + ValidateRequest: type: object properties: filter: - $ref: "#/components/schemas/ValidateSubnetRequest_filter" - description: Validate subnet for Routing Protocol Configuration + $ref: "#/components/schemas/ValidateRequest_filter" + description: Validate connection auth api key or vlan ValidateSubnetResponse: type: object properties: @@ -7702,7 +9814,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM CloudRouterPackage: type: object @@ -7802,12 +9914,6 @@ components: apiServices: $ref: "#/components/schemas/ApiServices" description: GET Services Health - ValidateConnectionRequest: - type: object - properties: - filter: - $ref: "#/components/schemas/ValidateSubnetRequest_filter" - description: Validate connection auth api key or vlan ConnectionResponse: type: object properties: @@ -8051,7 +10157,7 @@ components: items: $ref: "#/components/schemas/NetworkChange" description: List of network changes - ChangeId_1: + ChangeId_3: type: string description: Network Change UUID format: uuid @@ -8098,7 +10204,7 @@ components: title: precisionTimeServiceResponse required: - href - - ipv4 + - networkingIpv4 - package - state - type @@ -8146,7 +10252,7 @@ components: description: fabric l2 connections used for the ept service items: $ref: "#/components/schemas/fabricConnectionUuid" - ipv4: + networkingIpv4: $ref: "#/components/schemas/ipv4" account: $ref: "#/components/schemas/account" @@ -8173,7 +10279,7 @@ components: type: string description: path inside document leading to updated parameter enum: - - /ipv4 + - /networkingIpv4 - /name - /advanceConfiguration/ntp - /advanceConfiguration/ptp @@ -8187,7 +10293,7 @@ components: required: - connections - name - - ipv4 + - networkingIpv4 - package - type type: object @@ -8208,7 +10314,7 @@ components: type: array items: $ref: "#/components/schemas/fabricConnectionUuid" - ipv4: + networkingIpv4: $ref: "#/components/schemas/ipv4" advanceConfiguration: $ref: "#/components/schemas/advanceConfiguration" @@ -9333,6 +11439,158 @@ components: default: /device/name enum: - /device/name + RouteFilterState: + type: string + description: Route Filter status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFiltersChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_UPDATE + - BGP_IPv4_PREFIX_FILTER_CREATION + - BGP_IPv4_PREFIX_FILTER_DELETION + - BGP_IPv6_PREFIX_FILTER_UPDATE + - BGP_IPv6_PREFIX_FILTER_CREATION + - BGP_IPv6_PREFIX_FILTER_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter change + RouteFiltersChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RouteFiltersBase" + description: Route Filter change operation data + RouteFilterConnectionsData: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: + $ref: "#/components/schemas/ConnectionType" + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: connection-1 + RouteFilterRulesChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter Rule change + RouteFilterChangePrefixMatch: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /prefixMatch + value: + type: object + description: new value for updated parameter + description: Route Filter Rule change operation data + RouteFilterRulesChangeOperation: + required: + - action + - name + - prefix + - type + type: object + properties: + name: + type: string + description: name of route filter rule + example: Private-subnet-filter + description: + type: string + description: cust provided description + type: + type: string + description: type of filter rule + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + prefix: + type: string + description: given prefix (does not change) + action: + type: string + description: change to be made + enum: + - PERMIT + - DENY + description: Route Filter change operation data SimplifiedLocationWithoutIBX: required: - metroCode @@ -9373,7 +11631,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM description: Fabric Cloud Router Package Type CloudRouterAccessPointState: @@ -9496,7 +11754,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM PackageChangeLog: type: object @@ -9771,6 +12029,8 @@ components: providerConnectionId: type: string description: Provider assigned Connection Id + virtualNetwork: + $ref: "#/components/schemas/VirtualNetwork" description: Access point object ConnectionCompanyProfile: type: object @@ -10195,6 +12455,7 @@ components: - SUBNET - CLOUD_ROUTER - NETWORK + - METAL_NETWORK SimplifiedPort: type: object properties: @@ -10337,23 +12598,26 @@ components: properties: href: type: string - description: Virtual Interface URI + description: Interface URI format: uri readOnly: true uuid: type: string - description: Equinix-assigned Virtual Device Interface identifier + description: Equinix-assigned Interface identifier format: uuid id: type: integer description: Interface id type: type: string - description: Virtual Device Interface type + description: Interface type enum: - CLOUD - NETWORK - description: Virtual Device Interface Information + projectId: + type: string + description: Interface Project ID + description: Interface Information SimplifiedNetwork: required: - uuid @@ -10405,6 +12669,19 @@ components: - MICROSOFT - PUBLIC - MANUAL + VirtualNetwork: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Network identifier + format: uuid + description: Virtual Network Information VirtualConnectionPriceConnectionType: type: string description: Virtual Connection type @@ -10527,6 +12804,7 @@ components: - DOT1Q - QINQ - EVPN_VXLAN + - VXLAN VirtualConnectionPriceAccessPointType: type: string description: Virtual Connection access point type @@ -10549,7 +12827,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM ConnectivitySourceType: type: string @@ -10585,11 +12863,13 @@ components: UNTAGGED: "#/components/schemas/LinkProtocolUntagged" DOT1Q: "#/components/schemas/LinkProtocolDot1q" QINQ: "#/components/schemas/LinkProtocolQinq" + VXLAN: "#/components/schemas/LinkProtocolVxlan" EVPN_VXLAN: "#/components/schemas/LinkProtocolEvpnVxlan" oneOf: - $ref: "#/components/schemas/LinkProtocolUntagged" - $ref: "#/components/schemas/LinkProtocolDot1q" - $ref: "#/components/schemas/LinkProtocolQinq" + - $ref: "#/components/schemas/LinkProtocolVxlan" - $ref: "#/components/schemas/LinkProtocolEvpnVxlan" LinkProtocolUntagged: type: object @@ -10653,6 +12933,19 @@ components: type: integer description: Subinterface identifier description: Connection link protocol configuration - QINQ + LinkProtocolVxlan: + required: + - vni + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vni: + maximum: 16777215 + minimum: 4097 + type: integer + description: Virtual Network Identifier + description: Connection link protocol configuration - VXLAN LinkProtocolEvpnVxlan: required: - type5vni @@ -10690,7 +12983,7 @@ components: type: string reason: type: string - ValidateSubnetRequest_filter_and: + ValidateRequest_filter_and: properties: property: type: string @@ -10703,13 +12996,13 @@ components: description: Values for the given property items: type: string - ValidateSubnetRequest_filter: + ValidateRequest_filter: type: object properties: and: type: array items: - $ref: "#/components/schemas/ValidateSubnetRequest_filter_and" + $ref: "#/components/schemas/ValidateRequest_filter_and" description: Filters PortOrder_purchaseOrder: type: object @@ -11313,38 +13606,6 @@ components: - type: ALL emails: - test@test.com - COLO2AWSSPwithDot1q-Secondary: - value: - type: EVPL_VC - name: Secondary-Aws - bandwidth: 1000 - redundancy: - group: e04db764-f865-470b-8394-d2efdd651577 - priority: SECONDARY - aSide: - accessPoint: - type: COLO - port: - uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d - linkProtocol: - type: DOT1Q - vlanTag: 1001 - order: - purchaseOrderNumber: po1234 - zSide: - accessPoint: - type: SP - profile: - type: L2_PROFILE - uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c - location: - metroCode: DC - sellerRegion: us-east-1 - authenticationKey: xxx-xxx-xxx - notifications: - - type: ALL - emails: - - test@test.com COLO2AzureSPwithDot1q-Primary: value: type: EVPL_VC @@ -12208,6 +14469,30 @@ components: - type: ALL emails: - test@test.com + Metal2Sp-Aws: + value: + type: EVPL_VC + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 ConnectionExample: value: href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 @@ -12781,6 +15066,48 @@ components: order: purchaseOrderNumber: "1122334" billingTier: Up to 50 MB + Metal2Sp-Aws-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + href: https://api.equinix.com/metal/v1/virtual-networks/a867f685-41b0-1b07-6de0-320a5c00abd + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + href: https://api.equinix.com/accountService/v1/accounts/123213 + accountNumber: 123213 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z createBulkGeneric: value: data: @@ -15824,7 +18151,7 @@ components: values: - LAB - BASIC - - PRO + - STANDARD - PREMIUM IpBlockProduct: value: @@ -18990,6 +21317,558 @@ components: sort: - property: /device/name direction: DESC + ConnectionRouteFiltersGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/52f7791a-fe90-49bc-8807-18b3d6eda566 + type: BGP_IPv6_PREFIX_FILTER + uuid: 52f7791a-fe90-49bc-8807-18b3d6eda566 + attachmentStatus: ATTACHED + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + type: BGP_IPv4_PREFIX_FILTER + uuid: 8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + attachmentStatus: ATTACHED + direction: OUTBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/65d74639-8f48-4e10-9684-45d364645e97 + type: BGP_IPv6_PREFIX_FILTER + uuid: 65d74639-8f48-4e10-9684-45d364645e97 + attachmentStatus: ATTACHED + direction: OUTBOUND + 400_route_filters: + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: type + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: name + - errorCode: EQ-3044002 + errorMessage: Connection already deleted + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: connectionId + - errorCode: EQ-3044003 + errorMessage: Route Filter is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: routeFilterId + - errorCode: EQ-3044003 + errorMessage: Connection is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: connectionId + AttachConnectionRouteFiltersResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: ATTACHING + direction: INBOUND + AttachConnectionRouteFilterInbound: + value: + direction: INBOUND + AttachConnectionRouteFilterOutbound: + value: + direction: OUTBOUND + 400_invalid_direction: + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: direction + 400_transient_state: + value: + - errorCode: EQ-3044008 + errorMessage: Cannot attach or detach Route Filter with Connection in transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot attach or detach Route Filter with Connection in transient state + DetachConnectionRouteFilterInboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + DetachConnectionRouteFilterOutboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: OUTBOUND + RouteFilterCreateBgpIpv4Prefix: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + type: ALL + emails: + - test@equinix.com + RouteFilterCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + UpdateRouteFilterIPv4: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4-update + description: Test filter update + project: + projectId: 789 + notifications: + - type: ALL + emails: + - test@equinix.com + RouteFilterIpv4ReplaceResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-update + description: Test filter update + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 789 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/c2ec84c5-6de6-4f5c-b506-3ce218630c31 + type: BGP_IPv4_PREFIX_FILTER_DELETION + uuid: c2ec84c5-6de6-4f5c-b506-3ce218630c31 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_attached_connection: + value: + - errorCode: EQ-3044007 + errorMessage: Cannot delete Route Filter still attached to a Connection + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter still attached to a Connection + PatchRouteFilterName: + value: + - op: replace + path: /name + value: My-route-filter-v4-updated + RouteFilterNamePatchResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-updated + description: Test filter + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + 400_invalid_operation: + value: + - errorCode: EQ-3044011 + errorMessage: Invalid Argument passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Only replace name operation is supported. + RouteFilterGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /name + value: My-route-filter-v4-updated + previousValue: My-route-filter-v4 + RouteFilterGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: 567 + notifications: + - type: ALL + emails: + - test@equinix.com + RouteFilterGetConnectionsResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + next: null + previous: null + data: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: IP_VC + name: test-connection + uuid: 05de355a-6c9d-4636-8d7d-7b7595821c15 + RouteFilterRulesGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleCreateBgpIpv4Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + RouteFilterRuleCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + UpdateRouteFilterRuleIPv4: + value: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT + RouteFilterRuleIpv4ReplaceResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + prefixMach: exact + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 192.168.0.0/24 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv4_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 192.168.0.0/24 + prefixMach: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_transient_filter: + value: + - errorCode: EQ-3044015 + errorMessage: Cannot delete Route Filter Rule, Route Filter transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter Rule, Route filter is in transient state + PatchRouteFilterRulePrefixMatch: + value: + - op: replace + path: /prefixMatch + value: orlonger + RouteFilterRulesGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 3 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a40085a4-f0cc-416c-af01-286f7f7ec736 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a40085a4-f0cc-416c-af01-286f7f7ec736 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: orlonger + previousValue: exact + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: exact + previousValue: orlonger + RouteFilterRuleGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMach: exact + action: PERMIT CreateLabPackage: value: type: XF_ROUTER @@ -19006,14 +21885,14 @@ components: accountNumber: 272010 project: projectId: "995072000433550" - CreateProPackage: + CreateStandardPackage: value: type: XF_ROUTER name: My-Cloud-Router location: metroCode: SV package: - code: PRO + code: STANDARD notifications: - type: ALL emails: @@ -19033,7 +21912,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19069,7 +21948,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19134,7 +22013,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19167,12 +22046,6 @@ components: deletedByFullName: abc deletedByEmail: abc@xyz.com deletedDateTime: 2021-09-24T06:59:46Z - 400_invalid_operation: - value: - - errorCode: EQ-3040054 - errorMessage: Invalid Argument passed - correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 - details: Only replace name, replace package and replace notifications operations are supported. CloudRouterActionResponse: value: type: ROUTE_TABLE_ENTRY_UPDATE @@ -19297,7 +22170,7 @@ components: value: - errorCode: EQ-2041022 errorMessage: The provided subnet is not valid. - details: The provided subnet is overlapping to other connection in the same FCR. + details: The provided subnet is overlapping with other connections in the same Fabric Cloud Router. correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 SearchFilterByNameAndMetroName: value: @@ -19339,7 +22212,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -19371,7 +22244,7 @@ components: pagination: offset: 0 limit: 20 - total: 1 + total: 2 data: - href: https://api.equinix.com/fabric/v4/routerPackages/LAB type: ROUTER_PACKAGE @@ -19392,6 +22265,25 @@ components: changeLog: createdDateTime: 2022-02-10T00:14:47Z updatedDateTime: 2022-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/STANDARD + type: ROUTER_PACKAGE + code: STANDARD + description: string + totalIPv4RoutesMax: 1000 + totalIPv6RoutesMax: 100 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 10000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z healthResponse: value: href: null @@ -20223,9 +23115,9 @@ components: - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicesPackages/NTP_STANDARD code: NTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20474,7 +23366,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: NTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20487,7 +23379,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20500,7 +23392,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - ipv4: + networkingIpv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -20534,30 +23426,44 @@ components: limit: 20 total: 4 data: - - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 1 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + accuracyUnit: millisecond clientsPerSecondMax: 2000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_ENTERPRISE code: NTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 5 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + accuracyUnit: millisecond clientsPerSecondMax: 1000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD + - href: https://api.equinix.com/fabric/v4/precisiontime/packages/PTP_STANDARD code: PTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 5 + bandwidthUnit: Mbps + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true @@ -20568,6 +23474,10 @@ components: code: PTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 10 + bandwidthUnit: Mbps + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 20 redundancySupported: true multiSubnetSupported: true @@ -20580,6 +23490,11 @@ components: code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 10 + bandwidthUnit: Mbps + accuracySlaMax: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + accuracyUnit: millisecond clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true From 32cadcbfd9a3339379f2add1b421f961b91004a4 Mon Sep 17 00:00:00 2001 From: Tim Hogarty Date: Mon, 11 Dec 2023 14:40:17 -0800 Subject: [PATCH 2/2] Update Fabric Go Client with 4.11 Fabric Specs Published 12/8/2023 --- README.md | 10 +- api/swagger.yaml | 383 ++---------------- docs/ConnectionLink.md | 11 - docs/PrecisionTimeApi.md | 93 +---- ...PrecisionTimeServiceConnectionsResponse.md | 10 - docs/PrecisionTimeServiceCreateResponse.md | 2 +- docs/PrecisionTimeServicePackagesResponse.md | 10 - docs/PrecisionTimeServiceRequest.md | 2 +- fabric/v4/api_precision_time.go | 356 +--------------- fabric/v4/model_connection_link.go | 15 - ...ision_time_service_connections_response.go | 16 - ..._precision_time_service_create_response.go | 2 +- ...recision_time_service_packages_response.go | 16 - .../model_precision_time_service_request.go | 2 +- spec.fetched.yaml | 260 ++---------- spec.patched.yaml | 260 ++---------- 16 files changed, 136 insertions(+), 1312 deletions(-) delete mode 100644 docs/ConnectionLink.md delete mode 100644 docs/PrecisionTimeServiceConnectionsResponse.md delete mode 100644 docs/PrecisionTimeServicePackagesResponse.md delete mode 100644 fabric/v4/model_connection_link.go delete mode 100644 fabric/v4/model_precision_time_service_connections_response.go delete mode 100644 fabric/v4/model_precision_time_service_packages_response.go diff --git a/README.md b/README.md index fa981a2..00482b0 100644 --- a/README.md +++ b/README.md @@ -57,12 +57,9 @@ Class | Method | HTTP request | Description *PortsApi* | [**GetPorts**](docs/PortsApi.md#getports) | **Get** /fabric/v4/ports | Get All Ports *PortsApi* | [**GetVlans**](docs/PortsApi.md#getvlans) | **Get** /fabric/v4/ports/{portUuid}/linkProtocols | Get Vlans *PortsApi* | [**SearchPorts**](docs/PortsApi.md#searchports) | **Post** /fabric/v4/ports/search | Search ports -*PrecisionTimeApi* | [**CreateTimeServices**](docs/PrecisionTimeApi.md#createtimeservices) | **Post** /fabric/v4/timeServices | Create time service +*PrecisionTimeApi* | [**CreateTimeServices**](docs/PrecisionTimeApi.md#createtimeservices) | **Post** /fabric/v4/timeServices | Create Time Service *PrecisionTimeApi* | [**DeleteTimeServiceById**](docs/PrecisionTimeApi.md#deletetimeservicebyid) | **Delete** /fabric/v4/timeServices/{serviceId} | Delete time service -*PrecisionTimeApi* | [**GetTimeServicesById**](docs/PrecisionTimeApi.md#gettimeservicesbyid) | **Get** /fabric/v4/timeServices/{serviceId} | Get time service -*PrecisionTimeApi* | [**GetTimeServicesConnectionsByServiceId**](docs/PrecisionTimeApi.md#gettimeservicesconnectionsbyserviceid) | **Get** /fabric/v4/timeServices/{serviceId}/connections | Get Conn Links -*PrecisionTimeApi* | [**GetTimeServicesPackageByCode**](docs/PrecisionTimeApi.md#gettimeservicespackagebycode) | **Get** /fabric/v4/timeServicesPackages/{packageCode} | Get package by Code -*PrecisionTimeApi* | [**GetTimeServicesPackages**](docs/PrecisionTimeApi.md#gettimeservicespackages) | **Get** /fabric/v4/timeServicesPackages | Get Packages +*PrecisionTimeApi* | [**GetTimeServicesById**](docs/PrecisionTimeApi.md#gettimeservicesbyid) | **Get** /fabric/v4/timeServices/{serviceId} | Get Time Service *PrecisionTimeApi* | [**UpdateTimeServicesById**](docs/PrecisionTimeApi.md#updatetimeservicesbyid) | **Patch** /fabric/v4/timeServices/{serviceId} | Patch time service *PricesApi* | [**SearchPrices**](docs/PricesApi.md#searchprices) | **Post** /fabric/v4/prices/search | Get Prices *RouteFilterRulesApi* | [**CreateRouteFilterRule**](docs/RouteFilterRulesApi.md#createroutefilterrule) | **Post** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | Create RFRule @@ -180,7 +177,6 @@ Class | Method | HTTP request | Description - [ConnectionCompanyProfile](docs/ConnectionCompanyProfile.md) - [ConnectionDirection](docs/ConnectionDirection.md) - [ConnectionInvitation](docs/ConnectionInvitation.md) - - [ConnectionLink](docs/ConnectionLink.md) - [ConnectionOperation](docs/ConnectionOperation.md) - [ConnectionPostRequest](docs/ConnectionPostRequest.md) - [ConnectionPriority](docs/ConnectionPriority.md) @@ -310,9 +306,7 @@ Class | Method | HTTP request | Description - [PortType](docs/PortType.md) - [PortV4SearchRequest](docs/PortV4SearchRequest.md) - [PrecisionTimeChangeOperation](docs/PrecisionTimeChangeOperation.md) - - [PrecisionTimeServiceConnectionsResponse](docs/PrecisionTimeServiceConnectionsResponse.md) - [PrecisionTimeServiceCreateResponse](docs/PrecisionTimeServiceCreateResponse.md) - - [PrecisionTimeServicePackagesResponse](docs/PrecisionTimeServicePackagesResponse.md) - [PrecisionTimeServiceRequest](docs/PrecisionTimeServiceRequest.md) - [Presence](docs/Presence.md) - [Price](docs/Price.md) diff --git a/api/swagger.yaml b/api/swagger.yaml index e115335..b890a62 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -6920,8 +6920,8 @@ paths: get: tags: - Precision Time - summary: Get time service - description: The API provides capability to get prevision timing service's details + summary: Get Time Service + description: The API provides capability to get precision timing service's details operationId: getTimeServicesById parameters: - name: serviceId @@ -6933,7 +6933,7 @@ paths: schema: $ref: '#/components/schemas/ServiceId' responses: - "200": + "202": description: Successful operation content: application/json: @@ -7089,7 +7089,7 @@ paths: schema: $ref: '#/components/schemas/ServiceId' responses: - "204": + "202": description: Successful operation content: application/json: @@ -7153,6 +7153,7 @@ paths: content: application/json-patch+json: schema: + maxItems: 1 minItems: 1 type: array items: @@ -7162,7 +7163,7 @@ paths: $ref: '#/components/examples/edit' required: true responses: - "200": + "202": description: Successful operation content: application/json: @@ -7306,7 +7307,7 @@ paths: post: tags: - Precision Time - summary: Create time service + summary: Create Time Service description: The API provides capability to create timing service operationId: createTimeServices parameters: [] @@ -7324,7 +7325,7 @@ paths: $ref: '#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration' required: true responses: - "200": + "202": description: Successful operation content: application/json: @@ -7464,154 +7465,6 @@ paths: examples: example: $ref: '#/components/examples/500' - /fabric/v4/timeServices/{serviceId}/connections: - get: - tags: - - Precision Time - summary: Get Conn Links - description: The API provides capability to get prevision timing service's details - operationId: getTimeServicesConnectionsByServiceId - parameters: - - name: serviceId - in: path - description: Service UUID - required: true - style: simple - explode: false - schema: - $ref: '#/components/schemas/ServiceId' - responses: - "200": - description: Return Time Service Connection - content: - application/json: - schema: - $ref: '#/components/schemas/precisionTimeServiceConnectionsResponse' - examples: - example: - $ref: '#/components/examples/serviceConnectionsResponse' - "401": - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/401' - "403": - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/403' - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/415' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/500' - /fabric/v4/timeServicesPackages: - get: - tags: - - Precision Time - summary: Get Packages - description: The API provides capability to get timing service's packages - operationId: getTimeServicesPackages - parameters: [] - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/precisionTimeServicePackagesResponse' - examples: - example: - $ref: '#/components/examples/servicePackagesResponse' - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/415' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/500' - /fabric/v4/timeServicesPackages/{packageCode}: - get: - tags: - - Precision Time - summary: Get package by Code - description: The API provides capability to get timing service's package by - code - operationId: getTimeServicesPackageByCode - parameters: - - name: packageCode - in: path - description: Package Code - required: true - style: simple - explode: false - schema: - type: string - enum: - - NTP_STANDARD - - NTP_ENTERPRISE - - PTP_STANDARD - - PTP_ENTERPRISE - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PackageResponse' - examples: - example: - $ref: '#/components/examples/servicePackageResponse' - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/415' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorList' - examples: - example: - $ref: '#/components/examples/500' components: schemas: ConnectionPostRequest: @@ -16676,7 +16529,7 @@ components: title: precisionTimeServiceResponse required: - href - - networkingIpv4 + - ipv4 - package - state - type @@ -16724,7 +16577,7 @@ components: description: fabric l2 connections used for the ept service items: $ref: '#/components/schemas/fabricConnectionUuid' - networkingIpv4: + ipv4: $ref: '#/components/schemas/ipv4' account: $ref: '#/components/schemas/account' @@ -16798,7 +16651,7 @@ components: href: https://api.equinix.com/fabric/v4/routerPackages/LAB vcCountMax: 10 routeFilterSupported: true - networkingIpv4: + ipv4: primary: 10.0.0.1 secondary: 10.0.0.2 networkMask: 255.255.255.240 @@ -16834,7 +16687,7 @@ components: type: string description: path inside document leading to updated parameter enum: - - /networkingIpv4 + - /ipv4 - /name - /advanceConfiguration/ntp - /advanceConfiguration/ptp @@ -16847,8 +16700,8 @@ components: title: precisionTimeServiceRequest required: - connections + - ipv4 - name - - networkingIpv4 - package - type type: object @@ -16869,149 +16722,13 @@ components: type: array items: $ref: '#/components/schemas/fabricConnectionUuid' - networkingIpv4: + ipv4: $ref: '#/components/schemas/ipv4' advanceConfiguration: $ref: '#/components/schemas/advanceConfiguration' project: $ref: '#/components/schemas/Project' description: EPT service instance - precisionTimeServiceConnectionsResponse: - title: precisionTimeServiceConnectionResponse - type: object - properties: - pagination: - $ref: '#/components/schemas/Pagination' - data: - type: array - description: Data returned from the API call - items: - $ref: '#/components/schemas/connectionLink' - description: EPT service instance's L2 connections - example: - pagination: - next: next - total: 0 - offset: 0 - previous: previous - limit: 0 - data: - - href: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: EVPL_VC - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - - href: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: EVPL_VC - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - precisionTimeServicePackagesResponse: - title: precisionTimeServicePackagesResponse - type: object - properties: - pagination: - $ref: '#/components/schemas/Pagination' - data: - type: array - description: Data returned from the API call - items: - $ref: '#/components/schemas/PackageResponse' - description: Precision Packages - example: - pagination: - next: next - total: 0 - offset: 0 - previous: previous - limit: 0 - data: - - pagination: - next: next - total: 0 - offset: 0 - previous: previous - limit: 0 - data: - - staticIPv6RoutesMax: 0 - naclRulesMax: 5 - code: LAB - natType: STATIC_NAT - description: description - crCountMax: 3 - changeLog: - createdDateTime: 2020-11-06T07:00:00Z - updatedDateTime: 2020-11-06T07:00:00Z - type: ROUTER_PACKAGE - totalIPv4RoutesMax: 50 - haSupported: true - staticIPv4RoutesMax: 3 - vcBandwidthMax: 50 - naclsMax: 2 - totalIPv6RoutesMax: 50 - href: https://api.equinix.com/fabric/v4/routerPackages/LAB - vcCountMax: 10 - routeFilterSupported: true - - staticIPv6RoutesMax: 0 - naclRulesMax: 5 - code: LAB - natType: STATIC_NAT - description: description - crCountMax: 3 - changeLog: - createdDateTime: 2020-11-06T07:00:00Z - updatedDateTime: 2020-11-06T07:00:00Z - type: ROUTER_PACKAGE - totalIPv4RoutesMax: 50 - haSupported: true - staticIPv4RoutesMax: 3 - vcBandwidthMax: 50 - naclsMax: 2 - totalIPv6RoutesMax: 50 - href: https://api.equinix.com/fabric/v4/routerPackages/LAB - vcCountMax: 10 - routeFilterSupported: true - - pagination: - next: next - total: 0 - offset: 0 - previous: previous - limit: 0 - data: - - staticIPv6RoutesMax: 0 - naclRulesMax: 5 - code: LAB - natType: STATIC_NAT - description: description - crCountMax: 3 - changeLog: - createdDateTime: 2020-11-06T07:00:00Z - updatedDateTime: 2020-11-06T07:00:00Z - type: ROUTER_PACKAGE - totalIPv4RoutesMax: 50 - haSupported: true - staticIPv4RoutesMax: 3 - vcBandwidthMax: 50 - naclsMax: 2 - totalIPv6RoutesMax: 50 - href: https://api.equinix.com/fabric/v4/routerPackages/LAB - vcCountMax: 10 - routeFilterSupported: true - - staticIPv6RoutesMax: 0 - naclRulesMax: 5 - code: LAB - natType: STATIC_NAT - description: description - crCountMax: 3 - changeLog: - createdDateTime: 2020-11-06T07:00:00Z - updatedDateTime: 2020-11-06T07:00:00Z - type: ROUTER_PACKAGE - totalIPv4RoutesMax: 50 - haSupported: true - staticIPv4RoutesMax: 3 - vcBandwidthMax: 50 - naclsMax: 2 - totalIPv6RoutesMax: 50 - href: https://api.equinix.com/fabric/v4/routerPackages/LAB - vcCountMax: 10 - routeFilterSupported: true ConnectionType: type: string description: Connection type @@ -19872,24 +19589,6 @@ components: description: EPT Package Request example: code: NTP_STANDARD - connectionLink: - type: object - properties: - href: - type: string - format: uri - example: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: - type: string - enum: - - EVPL_VC - uuid: - type: string - format: uuid - example: - href: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: EVPL_VC - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 ConnectionPriority: type: string description: Connection priority in redundancy group @@ -31799,11 +31498,12 @@ components: state: PROVISIONING connections: - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: EVPL_VC uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: - href: https://api.equinix.com/fabric/v4/timeServicesPackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -32059,7 +31759,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: NTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -32072,7 +31772,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -32085,7 +31785,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -32119,59 +31819,57 @@ components: limit: 20 total: 4 data: - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_STANDARD + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 1 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 2000 + accuracyUnit: microseconds + accuracySla: -1 accuracyAvgMin: 1 accuracyAvgMax: 100 - accuracyUnit: millisecond - clientsPerSecondMax: 2000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE code: NTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 5 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 1000 + accuracyUnit: microseconds + accuracySla: -1 accuracyAvgMin: 1 accuracyAvgMax: 100 - accuracyUnit: millisecond - clientsPerSecondMax: 1000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/PTP_STANDARD + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD code: PTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 5 - bandwidthUnit: Mbps + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontimePackages/PTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_ENTERPRISE code: PTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 10 - bandwidthUnit: Mbps + clientsPerSecondMax: 20 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 20 redundancySupported: true multiSubnetSupported: true changeLog: @@ -32179,16 +31877,15 @@ components: updatedDateTime: 2023-05-17T07:50:49.749Z servicePackageResponse: value: - href: https://api.equinix.com/fabric/v4/precisiontimePackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 10 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: diff --git a/docs/ConnectionLink.md b/docs/ConnectionLink.md deleted file mode 100644 index 0bf3750..0000000 --- a/docs/ConnectionLink.md +++ /dev/null @@ -1,11 +0,0 @@ -# ConnectionLink - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Href** | **string** | | [optional] [default to null] -**Type_** | **string** | | [optional] [default to null] -**Uuid** | **string** | | [optional] [default to null] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - diff --git a/docs/PrecisionTimeApi.md b/docs/PrecisionTimeApi.md index 34a5077..ca078e2 100644 --- a/docs/PrecisionTimeApi.md +++ b/docs/PrecisionTimeApi.md @@ -4,17 +4,14 @@ All URIs are relative to *https://api.equinix.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**CreateTimeServices**](PrecisionTimeApi.md#CreateTimeServices) | **Post** /fabric/v4/timeServices | Create time service +[**CreateTimeServices**](PrecisionTimeApi.md#CreateTimeServices) | **Post** /fabric/v4/timeServices | Create Time Service [**DeleteTimeServiceById**](PrecisionTimeApi.md#DeleteTimeServiceById) | **Delete** /fabric/v4/timeServices/{serviceId} | Delete time service -[**GetTimeServicesById**](PrecisionTimeApi.md#GetTimeServicesById) | **Get** /fabric/v4/timeServices/{serviceId} | Get time service -[**GetTimeServicesConnectionsByServiceId**](PrecisionTimeApi.md#GetTimeServicesConnectionsByServiceId) | **Get** /fabric/v4/timeServices/{serviceId}/connections | Get Conn Links -[**GetTimeServicesPackageByCode**](PrecisionTimeApi.md#GetTimeServicesPackageByCode) | **Get** /fabric/v4/timeServicesPackages/{packageCode} | Get package by Code -[**GetTimeServicesPackages**](PrecisionTimeApi.md#GetTimeServicesPackages) | **Get** /fabric/v4/timeServicesPackages | Get Packages +[**GetTimeServicesById**](PrecisionTimeApi.md#GetTimeServicesById) | **Get** /fabric/v4/timeServices/{serviceId} | Get Time Service [**UpdateTimeServicesById**](PrecisionTimeApi.md#UpdateTimeServicesById) | **Patch** /fabric/v4/timeServices/{serviceId} | Patch time service # **CreateTimeServices** > PrecisionTimeServiceCreateResponse CreateTimeServices(ctx, body) -Create time service +Create Time Service The API provides capability to create timing service @@ -70,9 +67,9 @@ Name | Type | Description | Notes # **GetTimeServicesById** > PrecisionTimeServiceCreateResponse GetTimeServicesById(ctx, serviceId) -Get time service +Get Time Service -The API provides capability to get prevision timing service's details +The API provides capability to get precision timing service's details ### Required Parameters @@ -96,86 +93,6 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **GetTimeServicesConnectionsByServiceId** -> PrecisionTimeServiceConnectionsResponse GetTimeServicesConnectionsByServiceId(ctx, serviceId) -Get Conn Links - -The API provides capability to get prevision timing service's details - -### Required Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. - **serviceId** | [**string**](.md)| Service UUID | - -### Return type - -[**PrecisionTimeServiceConnectionsResponse**](precisionTimeServiceConnectionsResponse.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetTimeServicesPackageByCode** -> PackageResponse GetTimeServicesPackageByCode(ctx, packageCode) -Get package by Code - -The API provides capability to get timing service's package by code - -### Required Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. - **packageCode** | **string**| Package Code | - -### Return type - -[**PackageResponse**](PackageResponse.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetTimeServicesPackages** -> PrecisionTimeServicePackagesResponse GetTimeServicesPackages(ctx, ) -Get Packages - -The API provides capability to get timing service's packages - -### Required Parameters -This endpoint does not need any parameter. - -### Return type - -[**PrecisionTimeServicePackagesResponse**](precisionTimeServicePackagesResponse.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - # **UpdateTimeServicesById** > PrecisionTimeServiceCreateResponse UpdateTimeServicesById(ctx, body, serviceId) Patch time service diff --git a/docs/PrecisionTimeServiceConnectionsResponse.md b/docs/PrecisionTimeServiceConnectionsResponse.md deleted file mode 100644 index ee02104..0000000 --- a/docs/PrecisionTimeServiceConnectionsResponse.md +++ /dev/null @@ -1,10 +0,0 @@ -# PrecisionTimeServiceConnectionsResponse - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] -**Data** | [**[]ConnectionLink**](connectionLink.md) | Data returned from the API call | [optional] [default to null] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - diff --git a/docs/PrecisionTimeServiceCreateResponse.md b/docs/PrecisionTimeServiceCreateResponse.md index c5028b2..362de94 100644 --- a/docs/PrecisionTimeServiceCreateResponse.md +++ b/docs/PrecisionTimeServiceCreateResponse.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **State** | **string** | indicate service state | [default to null] **Package_** | [***PackageResponse**](PackageResponse.md) | | [default to null] **Connections** | [**[]FabricConnectionUuid**](fabricConnectionUuid.md) | fabric l2 connections used for the ept service | [optional] [default to null] -**NetworkingIpv4** | [***Ipv4**](ipv4.md) | | [default to null] +**Ipv4** | [***Ipv4**](ipv4.md) | | [default to null] **Account** | [***Account**](account.md) | | [optional] [default to null] **AdvanceConfiguration** | [***AdvanceConfiguration**](advanceConfiguration.md) | | [optional] [default to null] **Project** | [***Project**](Project.md) | | [optional] [default to null] diff --git a/docs/PrecisionTimeServicePackagesResponse.md b/docs/PrecisionTimeServicePackagesResponse.md deleted file mode 100644 index 3860e1f..0000000 --- a/docs/PrecisionTimeServicePackagesResponse.md +++ /dev/null @@ -1,10 +0,0 @@ -# PrecisionTimeServicePackagesResponse - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Pagination** | [***Pagination**](Pagination.md) | | [optional] [default to null] -**Data** | [**[]PackageResponse**](PackageResponse.md) | Data returned from the API call | [optional] [default to null] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - diff --git a/docs/PrecisionTimeServiceRequest.md b/docs/PrecisionTimeServiceRequest.md index 22571ae..dab1ccc 100644 --- a/docs/PrecisionTimeServiceRequest.md +++ b/docs/PrecisionTimeServiceRequest.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **Description** | **string** | | [optional] [default to null] **Package_** | [***PackageRequest**](packageRequest.md) | | [default to null] **Connections** | [**[]FabricConnectionUuid**](fabricConnectionUuid.md) | | [default to null] -**NetworkingIpv4** | [***Ipv4**](ipv4.md) | | [default to null] +**Ipv4** | [***Ipv4**](ipv4.md) | | [default to null] **AdvanceConfiguration** | [***AdvanceConfiguration**](advanceConfiguration.md) | | [optional] [default to null] **Project** | [***Project**](Project.md) | | [optional] [default to null] diff --git a/fabric/v4/api_precision_time.go b/fabric/v4/api_precision_time.go index b419525..d081d97 100644 --- a/fabric/v4/api_precision_time.go +++ b/fabric/v4/api_precision_time.go @@ -27,7 +27,7 @@ var ( type PrecisionTimeApiService service /* -PrecisionTimeApiService Create time service +PrecisionTimeApiService Create Time Service The API provides capability to create timing service - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param body @@ -99,7 +99,7 @@ func (a *PrecisionTimeApiService) CreateTimeServices(ctx context.Context, body P body: localVarBody, error: localVarHttpResponse.Status, } - if localVarHttpResponse.StatusCode == 200 { + if localVarHttpResponse.StatusCode == 202 { var v PrecisionTimeServiceCreateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) if err != nil { @@ -237,7 +237,7 @@ func (a *PrecisionTimeApiService) DeleteTimeServiceById(ctx context.Context, ser body: localVarBody, error: localVarHttpResponse.Status, } - if localVarHttpResponse.StatusCode == 204 { + if localVarHttpResponse.StatusCode == 202 { var v PrecisionTimeServiceCreateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) if err != nil { @@ -294,8 +294,8 @@ func (a *PrecisionTimeApiService) DeleteTimeServiceById(ctx context.Context, ser } /* -PrecisionTimeApiService Get time service -The API provides capability to get prevision timing service's details +PrecisionTimeApiService Get Time Service +The API provides capability to get precision timing service's details - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @param serviceId Service UUID @@ -365,7 +365,7 @@ func (a *PrecisionTimeApiService) GetTimeServicesById(ctx context.Context, servi body: localVarBody, error: localVarHttpResponse.Status, } - if localVarHttpResponse.StatusCode == 200 { + if localVarHttpResponse.StatusCode == 202 { var v PrecisionTimeServiceCreateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) if err != nil { @@ -431,348 +431,6 @@ func (a *PrecisionTimeApiService) GetTimeServicesById(ctx context.Context, servi return localVarReturnValue, localVarHttpResponse, nil } -/* -PrecisionTimeApiService Get Conn Links -The API provides capability to get prevision timing service's details - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param serviceId Service UUID - -@return PrecisionTimeServiceConnectionsResponse -*/ -func (a *PrecisionTimeApiService) GetTimeServicesConnectionsByServiceId(ctx context.Context, serviceId string) (PrecisionTimeServiceConnectionsResponse, *http.Response, error) { - var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte - localVarReturnValue PrecisionTimeServiceConnectionsResponse - ) - - // create path and map variables - localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServices/{serviceId}/connections" - localVarPath = strings.Replace(localVarPath, "{"+"serviceId"+"}", fmt.Sprintf("%v", serviceId), -1) - - localVarHeaderParams := make(map[string]string) - localVarQueryParams := url.Values{} - localVarFormParams := url.Values{} - - // to determine the Content-Type header - localVarHttpContentTypes := []string{} - - // set Content-Type header - localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) - if localVarHttpContentType != "" { - localVarHeaderParams["Content-Type"] = localVarHttpContentType - } - - // to determine the Accept header - localVarHttpHeaderAccepts := []string{"application/json"} - - // set Accept header - localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) - if localVarHttpHeaderAccept != "" { - localVarHeaderParams["Accept"] = localVarHttpHeaderAccept - } - r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) - if err != nil { - return localVarReturnValue, nil, err - } - - localVarHttpResponse, err := a.client.callAPI(r) - if err != nil || localVarHttpResponse == nil { - return localVarReturnValue, localVarHttpResponse, err - } - - localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) - localVarHttpResponse.Body.Close() - localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) - if err != nil { - return localVarReturnValue, localVarHttpResponse, err - } - - if localVarHttpResponse.StatusCode < 300 { - // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { - return localVarReturnValue, localVarHttpResponse, err - } - } - - if localVarHttpResponse.StatusCode >= 300 { - newErr := GenericSwaggerError{ - body: localVarBody, - error: localVarHttpResponse.Status, - } - if localVarHttpResponse.StatusCode == 200 { - var v PrecisionTimeServiceConnectionsResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 401 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 403 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 415 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 500 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - return localVarReturnValue, localVarHttpResponse, newErr - } - - return localVarReturnValue, localVarHttpResponse, nil -} - -/* -PrecisionTimeApiService Get package by Code -The API provides capability to get timing service's package by code - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param packageCode Package Code - -@return PackageResponse -*/ -func (a *PrecisionTimeApiService) GetTimeServicesPackageByCode(ctx context.Context, packageCode string) (PackageResponse, *http.Response, error) { - var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte - localVarReturnValue PackageResponse - ) - - // create path and map variables - localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServicesPackages/{packageCode}" - localVarPath = strings.Replace(localVarPath, "{"+"packageCode"+"}", fmt.Sprintf("%v", packageCode), -1) - - localVarHeaderParams := make(map[string]string) - localVarQueryParams := url.Values{} - localVarFormParams := url.Values{} - - // to determine the Content-Type header - localVarHttpContentTypes := []string{} - - // set Content-Type header - localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) - if localVarHttpContentType != "" { - localVarHeaderParams["Content-Type"] = localVarHttpContentType - } - - // to determine the Accept header - localVarHttpHeaderAccepts := []string{"application/json"} - - // set Accept header - localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) - if localVarHttpHeaderAccept != "" { - localVarHeaderParams["Accept"] = localVarHttpHeaderAccept - } - r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) - if err != nil { - return localVarReturnValue, nil, err - } - - localVarHttpResponse, err := a.client.callAPI(r) - if err != nil || localVarHttpResponse == nil { - return localVarReturnValue, localVarHttpResponse, err - } - - localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) - localVarHttpResponse.Body.Close() - localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) - if err != nil { - return localVarReturnValue, localVarHttpResponse, err - } - - if localVarHttpResponse.StatusCode < 300 { - // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { - return localVarReturnValue, localVarHttpResponse, err - } - } - - if localVarHttpResponse.StatusCode >= 300 { - newErr := GenericSwaggerError{ - body: localVarBody, - error: localVarHttpResponse.Status, - } - if localVarHttpResponse.StatusCode == 200 { - var v PackageResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 415 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 500 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - return localVarReturnValue, localVarHttpResponse, newErr - } - - return localVarReturnValue, localVarHttpResponse, nil -} - -/* -PrecisionTimeApiService Get Packages -The API provides capability to get timing service's packages - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - -@return PrecisionTimeServicePackagesResponse -*/ -func (a *PrecisionTimeApiService) GetTimeServicesPackages(ctx context.Context) (PrecisionTimeServicePackagesResponse, *http.Response, error) { - var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte - localVarReturnValue PrecisionTimeServicePackagesResponse - ) - - // create path and map variables - localVarPath := a.client.cfg.BasePath + "/fabric/v4/timeServicesPackages" - - localVarHeaderParams := make(map[string]string) - localVarQueryParams := url.Values{} - localVarFormParams := url.Values{} - - // to determine the Content-Type header - localVarHttpContentTypes := []string{} - - // set Content-Type header - localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) - if localVarHttpContentType != "" { - localVarHeaderParams["Content-Type"] = localVarHttpContentType - } - - // to determine the Accept header - localVarHttpHeaderAccepts := []string{"application/json"} - - // set Accept header - localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) - if localVarHttpHeaderAccept != "" { - localVarHeaderParams["Accept"] = localVarHttpHeaderAccept - } - r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) - if err != nil { - return localVarReturnValue, nil, err - } - - localVarHttpResponse, err := a.client.callAPI(r) - if err != nil || localVarHttpResponse == nil { - return localVarReturnValue, localVarHttpResponse, err - } - - localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) - localVarHttpResponse.Body.Close() - localVarHttpResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) - if err != nil { - return localVarReturnValue, localVarHttpResponse, err - } - - if localVarHttpResponse.StatusCode < 300 { - // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { - return localVarReturnValue, localVarHttpResponse, err - } - } - - if localVarHttpResponse.StatusCode >= 300 { - newErr := GenericSwaggerError{ - body: localVarBody, - error: localVarHttpResponse.Status, - } - if localVarHttpResponse.StatusCode == 200 { - var v PrecisionTimeServicePackagesResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 415 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - if localVarHttpResponse.StatusCode == 500 { - var v []ModelError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr - } - return localVarReturnValue, localVarHttpResponse, newErr - } - - return localVarReturnValue, localVarHttpResponse, nil -} - /* PrecisionTimeApiService Patch time service The API provides capability to update timing service @@ -848,7 +506,7 @@ func (a *PrecisionTimeApiService) UpdateTimeServicesById(ctx context.Context, bo body: localVarBody, error: localVarHttpResponse.Status, } - if localVarHttpResponse.StatusCode == 200 { + if localVarHttpResponse.StatusCode == 202 { var v PrecisionTimeServiceCreateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) if err != nil { diff --git a/fabric/v4/model_connection_link.go b/fabric/v4/model_connection_link.go deleted file mode 100644 index 75b7ba1..0000000 --- a/fabric/v4/model_connection_link.go +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Equinix Fabric API v4 - * - * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
- * - * Contact: api-support@equinix.com - * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) - */ -package v4 - -type ConnectionLink struct { - Href string `json:"href,omitempty"` - Type_ string `json:"type,omitempty"` - Uuid string `json:"uuid,omitempty"` -} diff --git a/fabric/v4/model_precision_time_service_connections_response.go b/fabric/v4/model_precision_time_service_connections_response.go deleted file mode 100644 index dffe40d..0000000 --- a/fabric/v4/model_precision_time_service_connections_response.go +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Equinix Fabric API v4 - * - * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
- * - * Contact: api-support@equinix.com - * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) - */ -package v4 - -// EPT service instance's L2 connections -type PrecisionTimeServiceConnectionsResponse struct { - Pagination *Pagination `json:"pagination,omitempty"` - // Data returned from the API call - Data []ConnectionLink `json:"data,omitempty"` -} diff --git a/fabric/v4/model_precision_time_service_create_response.go b/fabric/v4/model_precision_time_service_create_response.go index 050503c..f9cce7c 100644 --- a/fabric/v4/model_precision_time_service_create_response.go +++ b/fabric/v4/model_precision_time_service_create_response.go @@ -22,7 +22,7 @@ type PrecisionTimeServiceCreateResponse struct { Package_ *PackageResponse `json:"package"` // fabric l2 connections used for the ept service Connections []FabricConnectionUuid `json:"connections,omitempty"` - NetworkingIpv4 *Ipv4 `json:"networkingIpv4"` + Ipv4 *Ipv4 `json:"ipv4"` Account *Account `json:"account,omitempty"` AdvanceConfiguration *AdvanceConfiguration `json:"advanceConfiguration,omitempty"` Project *Project `json:"project,omitempty"` diff --git a/fabric/v4/model_precision_time_service_packages_response.go b/fabric/v4/model_precision_time_service_packages_response.go deleted file mode 100644 index c4f5536..0000000 --- a/fabric/v4/model_precision_time_service_packages_response.go +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Equinix Fabric API v4 - * - * Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.
- * - * Contact: api-support@equinix.com - * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) - */ -package v4 - -// Precision Packages -type PrecisionTimeServicePackagesResponse struct { - Pagination *Pagination `json:"pagination,omitempty"` - // Data returned from the API call - Data []PackageResponse `json:"data,omitempty"` -} diff --git a/fabric/v4/model_precision_time_service_request.go b/fabric/v4/model_precision_time_service_request.go index 992a89d..fad799c 100644 --- a/fabric/v4/model_precision_time_service_request.go +++ b/fabric/v4/model_precision_time_service_request.go @@ -16,7 +16,7 @@ type PrecisionTimeServiceRequest struct { Description string `json:"description,omitempty"` Package_ *PackageRequest `json:"package"` Connections []FabricConnectionUuid `json:"connections"` - NetworkingIpv4 *Ipv4 `json:"networkingIpv4"` + Ipv4 *Ipv4 `json:"ipv4"` AdvanceConfiguration *AdvanceConfiguration `json:"advanceConfiguration,omitempty"` Project *Project `json:"project,omitempty"` } diff --git a/spec.fetched.yaml b/spec.fetched.yaml index 27a9688..c47e0bc 100644 --- a/spec.fetched.yaml +++ b/spec.fetched.yaml @@ -6588,8 +6588,8 @@ paths: get: tags: - Precision Time - summary: Get time service - description: The API provides capability to get prevision timing service's details + summary: Get Time Service + description: The API provides capability to get precision timing service's details operationId: getTimeServicesById parameters: - name: serviceId @@ -6599,7 +6599,7 @@ paths: schema: $ref: "#/components/schemas/ServiceId" responses: - "200": + "202": description: Successful operation content: application/json: @@ -6753,7 +6753,7 @@ paths: schema: $ref: "#/components/schemas/ServiceId" responses: - "204": + "202": description: Successful operation content: application/json: @@ -6815,6 +6815,7 @@ paths: content: application/json-patch+json: schema: + maxItems: 1 minItems: 1 type: array items: @@ -6824,7 +6825,7 @@ paths: $ref: "#/components/examples/edit" required: true responses: - "200": + "202": description: Successful operation content: application/json: @@ -6968,7 +6969,7 @@ paths: post: tags: - Precision Time - summary: Create time service + summary: Create Time Service description: The API provides capability to create timing service operationId: createTimeServices parameters: [] @@ -6986,7 +6987,7 @@ paths: $ref: "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration" required: true responses: - "200": + "202": description: Successful operation content: application/json: @@ -7126,149 +7127,6 @@ paths: examples: example: $ref: "#/components/examples/500" - "/fabric/v4/timeServices/{serviceId}/connections": - get: - tags: - - Precision Time - summary: Get Conn Links - description: The API provides capability to get prevision timing service's details - operationId: getTimeServicesConnectionsByServiceId - parameters: - - name: serviceId - in: path - description: Service UUID - required: true - schema: - $ref: "#/components/schemas/ServiceId" - responses: - "200": - description: Return Time Service Connection - content: - application/json: - schema: - $ref: "#/components/schemas/precisionTimeServiceConnectionsResponse" - examples: - example: - $ref: "#/components/examples/serviceConnectionsResponse" - "401": - description: Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/401" - "403": - description: Forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/403" - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/415" - "500": - description: Internal server error - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/500" - /fabric/v4/timeServicesPackages: - get: - tags: - - Precision Time - summary: Get Packages - description: The API provides capability to get timing service's packages - operationId: getTimeServicesPackages - parameters: [] - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/precisionTimeServicePackagesResponse" - examples: - example: - $ref: "#/components/examples/servicePackagesResponse" - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/415" - "500": - description: Internal server error - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/500" - "/fabric/v4/timeServicesPackages/{packageCode}": - get: - tags: - - Precision Time - summary: Get package by Code - description: The API provides capability to get timing service's package by code - operationId: getTimeServicesPackageByCode - parameters: - - name: packageCode - in: path - description: Package Code - required: true - schema: - type: string - enum: - - NTP_STANDARD - - NTP_ENTERPRISE - - PTP_STANDARD - - PTP_ENTERPRISE - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/PackageResponse" - examples: - example: - $ref: "#/components/examples/servicePackageResponse" - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/415" - "500": - description: Internal server error - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/500" components: schemas: ConnectionPostRequest: @@ -10204,7 +10062,7 @@ components: title: precisionTimeServiceResponse required: - href - - networkingIpv4 + - ipv4 - package - state - type @@ -10252,7 +10110,7 @@ components: description: fabric l2 connections used for the ept service items: $ref: "#/components/schemas/fabricConnectionUuid" - networkingIpv4: + ipv4: $ref: "#/components/schemas/ipv4" account: $ref: "#/components/schemas/account" @@ -10279,7 +10137,7 @@ components: type: string description: path inside document leading to updated parameter enum: - - /networkingIpv4 + - /ipv4 - /name - /advanceConfiguration/ntp - /advanceConfiguration/ptp @@ -10292,8 +10150,8 @@ components: title: precisionTimeServiceRequest required: - connections + - ipv4 - name - - networkingIpv4 - package - type type: object @@ -10314,37 +10172,13 @@ components: type: array items: $ref: "#/components/schemas/fabricConnectionUuid" - networkingIpv4: + ipv4: $ref: "#/components/schemas/ipv4" advanceConfiguration: $ref: "#/components/schemas/advanceConfiguration" project: $ref: "#/components/schemas/Project" description: EPT service instance - precisionTimeServiceConnectionsResponse: - title: precisionTimeServiceConnectionResponse - type: object - properties: - pagination: - $ref: "#/components/schemas/Pagination" - data: - type: array - description: Data returned from the API call - items: - $ref: "#/components/schemas/connectionLink" - description: EPT service instance's L2 connections - precisionTimeServicePackagesResponse: - title: precisionTimeServicePackagesResponse - type: object - properties: - pagination: - $ref: "#/components/schemas/Pagination" - data: - type: array - description: Data returned from the API call - items: - $ref: "#/components/schemas/PackageResponse" - description: Precision Packages ConnectionType: type: string description: Connection type @@ -11975,20 +11809,6 @@ components: description: EPT Package Request example: code: NTP_STANDARD - connectionLink: - type: object - properties: - href: - type: string - format: uri - example: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: - type: string - enum: - - EVPL_VC - uuid: - type: string - format: uuid ConnectionPriority: type: string description: Connection priority in redundancy group @@ -23113,11 +22933,12 @@ components: state: PROVISIONING connections: - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: EVPL_VC uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: - href: https://api.equinix.com/fabric/v4/timeServicesPackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23366,7 +23187,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: NTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23379,7 +23200,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23392,7 +23213,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23426,59 +23247,57 @@ components: limit: 20 total: 4 data: - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_STANDARD + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 1 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 2000 + accuracyUnit: microseconds + accuracySla: -1 accuracyAvgMin: 1 accuracyAvgMax: 100 - accuracyUnit: millisecond - clientsPerSecondMax: 2000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE code: NTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 5 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 1000 + accuracyUnit: microseconds + accuracySla: -1 accuracyAvgMin: 1 accuracyAvgMax: 100 - accuracyUnit: millisecond - clientsPerSecondMax: 1000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/PTP_STANDARD + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD code: PTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 5 - bandwidthUnit: Mbps + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontimePackages/PTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_ENTERPRISE code: PTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 10 - bandwidthUnit: Mbps + clientsPerSecondMax: 20 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 20 redundancySupported: true multiSubnetSupported: true changeLog: @@ -23486,16 +23305,15 @@ components: updatedDateTime: 2023-05-17T07:50:49.749Z servicePackageResponse: value: - href: https://api.equinix.com/fabric/v4/precisiontimePackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 10 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: diff --git a/spec.patched.yaml b/spec.patched.yaml index 4238e09..3ca2290 100644 --- a/spec.patched.yaml +++ b/spec.patched.yaml @@ -6588,8 +6588,8 @@ paths: get: tags: - Precision Time - summary: Get time service - description: The API provides capability to get prevision timing service's details + summary: Get Time Service + description: The API provides capability to get precision timing service's details operationId: getTimeServicesById parameters: - name: serviceId @@ -6599,7 +6599,7 @@ paths: schema: $ref: "#/components/schemas/ServiceId" responses: - "200": + "202": description: Successful operation content: application/json: @@ -6753,7 +6753,7 @@ paths: schema: $ref: "#/components/schemas/ServiceId" responses: - "204": + "202": description: Successful operation content: application/json: @@ -6815,6 +6815,7 @@ paths: content: application/json-patch+json: schema: + maxItems: 1 minItems: 1 type: array items: @@ -6824,7 +6825,7 @@ paths: $ref: "#/components/examples/edit" required: true responses: - "200": + "202": description: Successful operation content: application/json: @@ -6968,7 +6969,7 @@ paths: post: tags: - Precision Time - summary: Create time service + summary: Create Time Service description: The API provides capability to create timing service operationId: createTimeServices parameters: [] @@ -6986,7 +6987,7 @@ paths: $ref: "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration" required: true responses: - "200": + "202": description: Successful operation content: application/json: @@ -7126,149 +7127,6 @@ paths: examples: example: $ref: "#/components/examples/500" - "/fabric/v4/timeServices/{serviceId}/connections": - get: - tags: - - Precision Time - summary: Get Conn Links - description: The API provides capability to get prevision timing service's details - operationId: getTimeServicesConnectionsByServiceId - parameters: - - name: serviceId - in: path - description: Service UUID - required: true - schema: - $ref: "#/components/schemas/ServiceId" - responses: - "200": - description: Return Time Service Connection - content: - application/json: - schema: - $ref: "#/components/schemas/precisionTimeServiceConnectionsResponse" - examples: - example: - $ref: "#/components/examples/serviceConnectionsResponse" - "401": - description: Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/401" - "403": - description: Forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/403" - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/415" - "500": - description: Internal server error - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/500" - /fabric/v4/timeServicesPackages: - get: - tags: - - Precision Time - summary: Get Packages - description: The API provides capability to get timing service's packages - operationId: getTimeServicesPackages - parameters: [] - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/precisionTimeServicePackagesResponse" - examples: - example: - $ref: "#/components/examples/servicePackagesResponse" - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/415" - "500": - description: Internal server error - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/500" - "/fabric/v4/timeServicesPackages/{packageCode}": - get: - tags: - - Precision Time - summary: Get package by Code - description: The API provides capability to get timing service's package by code - operationId: getTimeServicesPackageByCode - parameters: - - name: packageCode - in: path - description: Package Code - required: true - schema: - type: string - enum: - - NTP_STANDARD - - NTP_ENTERPRISE - - PTP_STANDARD - - PTP_ENTERPRISE - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/PackageResponse" - examples: - example: - $ref: "#/components/examples/servicePackageResponse" - "415": - description: Unsupported Media Type - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/415" - "500": - description: Internal server error - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorList" - examples: - example: - $ref: "#/components/examples/500" components: schemas: ConnectionPostRequest: @@ -10204,7 +10062,7 @@ components: title: precisionTimeServiceResponse required: - href - - networkingIpv4 + - ipv4 - package - state - type @@ -10252,7 +10110,7 @@ components: description: fabric l2 connections used for the ept service items: $ref: "#/components/schemas/fabricConnectionUuid" - networkingIpv4: + ipv4: $ref: "#/components/schemas/ipv4" account: $ref: "#/components/schemas/account" @@ -10279,7 +10137,7 @@ components: type: string description: path inside document leading to updated parameter enum: - - /networkingIpv4 + - /ipv4 - /name - /advanceConfiguration/ntp - /advanceConfiguration/ptp @@ -10292,8 +10150,8 @@ components: title: precisionTimeServiceRequest required: - connections + - ipv4 - name - - networkingIpv4 - package - type type: object @@ -10314,37 +10172,13 @@ components: type: array items: $ref: "#/components/schemas/fabricConnectionUuid" - networkingIpv4: + ipv4: $ref: "#/components/schemas/ipv4" advanceConfiguration: $ref: "#/components/schemas/advanceConfiguration" project: $ref: "#/components/schemas/Project" description: EPT service instance - precisionTimeServiceConnectionsResponse: - title: precisionTimeServiceConnectionResponse - type: object - properties: - pagination: - $ref: "#/components/schemas/Pagination" - data: - type: array - description: Data returned from the API call - items: - $ref: "#/components/schemas/connectionLink" - description: EPT service instance's L2 connections - precisionTimeServicePackagesResponse: - title: precisionTimeServicePackagesResponse - type: object - properties: - pagination: - $ref: "#/components/schemas/Pagination" - data: - type: array - description: Data returned from the API call - items: - $ref: "#/components/schemas/PackageResponse" - description: Precision Packages ConnectionType: type: string description: Connection type @@ -11975,20 +11809,6 @@ components: description: EPT Package Request example: code: NTP_STANDARD - connectionLink: - type: object - properties: - href: - type: string - format: uri - example: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: - type: string - enum: - - EVPL_VC - uuid: - type: string - format: uuid ConnectionPriority: type: string description: Connection priority in redundancy group @@ -23113,11 +22933,12 @@ components: state: PROVISIONING connections: - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: EVPL_VC uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: - href: https://api.equinix.com/fabric/v4/timeServicesPackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23366,7 +23187,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: NTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23379,7 +23200,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23392,7 +23213,7 @@ components: - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 package: code: PTP_STANDARD - networkingIpv4: + ipv4: primary: 192.168.0.2 secondary: 192.168.0.3 networkMask: 255.255.255.255 @@ -23426,59 +23247,57 @@ components: limit: 20 total: 4 data: - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_STANDARD + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 1 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 2000 + accuracyUnit: microseconds + accuracySla: -1 accuracyAvgMin: 1 accuracyAvgMax: 100 - accuracyUnit: millisecond - clientsPerSecondMax: 2000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/NTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE code: NTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 5 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 1000 + accuracyUnit: microseconds + accuracySla: -1 accuracyAvgMin: 1 accuracyAvgMax: 100 - accuracyUnit: millisecond - clientsPerSecondMax: 1000 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontime/packages/PTP_STANDARD + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD code: PTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 5 - bandwidthUnit: Mbps + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: createdDateTime: 2023-05-16T07:50:49.749Z updatedDateTime: 2023-05-17T07:50:49.749Z - - href: https://api.equinix.com/fabric/v4/precisiontimePackages/PTP_ENTERPRISE + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_ENTERPRISE code: PTP_ENTERPRISE type: TIME_SERVICE_PACKAGE bandwidth: 10 - bandwidthUnit: Mbps + clientsPerSecondMax: 20 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 20 redundancySupported: true multiSubnetSupported: true changeLog: @@ -23486,16 +23305,15 @@ components: updatedDateTime: 2023-05-17T07:50:49.749Z servicePackageResponse: value: - href: https://api.equinix.com/fabric/v4/precisiontimePackages/NTP_STANDARD + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD code: NTP_STANDARD type: TIME_SERVICE_PACKAGE bandwidth: 10 - bandwidthUnit: Mbps - accuracySlaMax: 50 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 accuracyAvgMin: 1 accuracyAvgMax: 10 - accuracyUnit: millisecond - clientsPerSecondMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: