From d2263b7868dc282b8119e4258a4dbbf9d435d2ae Mon Sep 17 00:00:00 2001 From: srushti-patl Date: Thu, 7 Dec 2023 22:01:56 -0800 Subject: [PATCH 1/3] CXF-82051 Generate new version of SDK from fabric-api-specification version 4.11 --- Makefile | 4 +- spec/oas3.fabric.config.json | 4 +- spec/oas3.fabric.fetched.json | 5336 ++++++++++++++++++++++++++++++--- spec/oas3.fabric.patched.json | 5336 ++++++++++++++++++++++++++++++--- 4 files changed, 9772 insertions(+), 908 deletions(-) diff --git a/Makefile b/Makefile index 1e66971f..03d3b5cf 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ CRI:=docker # nerdctl OPENAPI_CODEGEN_TAG=v6.4.0 OPENAPI_CODEGEN_IMAGE=openapitools/openapi-generator-cli:${OPENAPI_CODEGEN_TAG} DOCKER_OPENAPI=${CRI} run --rm -u ${CURRENT_UID}:${CURRENT_GID} -v $(CURDIR):/local ${OPENAPI_CODEGEN_IMAGE} -OPENAPI_URL= https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/4.10 +OPENAPI_URL= https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/4.11 generate: clean fetch pre-spec-patch pull docker_generate build_client @@ -36,7 +36,7 @@ clean: rm -rf ${OPENAPI_GIT_DIR} # Fetch any public available version of Fabric V4 API specification. Send the URL to the specification as input argument -# Example: make fetch OPENAPI_URL=https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/4.10 +# Example: make fetch OPENAPI_URL=https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/4.11 fetch: curl ${OPENAPI_URL} | jq . > ${SPEC_FETCHED_FILE} diff --git a/spec/oas3.fabric.config.json b/spec/oas3.fabric.config.json index e7f9df12..e7d54bce 100644 --- a/spec/oas3.fabric.config.json +++ b/spec/oas3.fabric.config.json @@ -1,8 +1,8 @@ { "groupId": "com.equinix", "artifactId": "equinix-openapi-fabric", - "artifactVersion": "0.4.0", - "artifactDescription": "Equinix Fabric API Specification 4.10 generated SDK", + "artifactVersion": "0.5.0", + "artifactDescription": "Equinix Fabric API Specification 4.11 generated SDK", "library": "okhttp-gson", "invokerPackage": "com.equinix.openapi.fabric", "modelPackage": "com.equinix.openapi.fabric.v4.model", diff --git a/spec/oas3.fabric.fetched.json b/spec/oas3.fabric.fetched.json index 76ca7108..818b8962 100644 --- a/spec/oas3.fabric.fetched.json +++ b/spec/oas3.fabric.fetched.json @@ -13,7 +13,7 @@ "name": "Equinix Inc", "url": "https://developer.equinix.com/agreement" }, - "version": "4.10" + "version": "4.11" }, "externalDocs": { "description": "Find more information on Equinix Developer Portal", @@ -125,9 +125,6 @@ "Colo2Sp-Aws-Primary": { "$ref": "#/components/examples/COLO2AWSSPwithDot1q-Primary" }, - "Colo2Sp-Aws-Secondary": { - "$ref": "#/components/examples/COLO2AWSSPwithDot1q-Secondary" - }, "Colo2Sp-AzureDot1Q": { "$ref": "#/components/examples/COLO2AzureSPwithDot1q-Primary" }, @@ -220,6 +217,9 @@ }, "AsideServiceToken2ZsideServiceToken": { "$ref": "#/components/examples/AsideServiceToken2ZsideServiceToken" + }, + "Metal2Sp-Aws": { + "$ref": "#/components/examples/Metal2Sp-Aws" } } } @@ -267,6 +267,9 @@ }, "ServiceToken2PortResponseQinQ": { "$ref": "#/components/examples/AsideServiceToken2PortResponseWithQinq" + }, + "Metal2Sp-Aws": { + "$ref": "#/components/examples/Metal2Sp-Aws-Response" } } } @@ -4135,39 +4138,56 @@ } } }, - "/fabric/v4/serviceTokens/{serviceTokenId}": { + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros": { "get": { "tags": [ - "Service Tokens" + "Service Profiles" ], - "summary": "Get Token by uuid", - "description": "Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties.", - "operationId": "getServiceTokenByUuid", + "summary": "Get Profile Metros", + "description": "Get service profile metros by UUID.", + "operationId": "getServiceProfileMetrosByUuid", "parameters": [ { - "name": "serviceTokenId", + "name": "serviceProfileId", "in": "path", - "description": "Service Token UUID", + "description": "Service Profile UUID", "required": true, "schema": { - "$ref": "#/components/schemas/ServiceTokenUUID" + "$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": { + "application/json; charset=UTF-8": { "schema": { - "$ref": "#/components/schemas/ServiceToken" + "$ref": "#/components/schemas/ServiceMetros" }, "examples": { - "tokenExample": { - "$ref": "#/components/examples/getServiceToken" - }, - "tokenCrhExample": { - "$ref": "#/components/examples/getServiceToken-CRH" + "ServiceProfileMetros": { + "$ref": "#/components/examples/ServiceProfilesResponse" } } } @@ -4182,29 +4202,14 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_UUID" - } - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorList" - }, - "examples": { - "example": { - "$ref": "#/components/examples/403" + "$ref": "#/components/examples/sp-400" } } } } }, - "500": { - "description": "Internal server error", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4212,38 +4217,14 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/sp-401" } } } } - } - } - }, - "delete": { - "tags": [ - "Service Tokens" - ], - "summary": "Delete Token by uuid", - "description": "Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state.", - "operationId": "deleteServiceTokenByUuid", - "parameters": [ - { - "name": "serviceTokenId", - "in": "path", - "description": "Service Token UUID", - "required": true, - "schema": { - "$ref": "#/components/schemas/ServiceTokenUUID" - } - } - ], - "responses": { - "204": { - "description": "Deleted Service Token Successfully" }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4251,14 +4232,14 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_UUID" + "$ref": "#/components/examples/sp-403-read" } } } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -4266,21 +4247,23 @@ }, "examples": { "example": { - "$ref": "#/components/examples/401" + "$ref": "#/components/examples/sp-500" } } } } } } - }, - "patch": { + } + }, + "/fabric/v4/serviceTokens/{serviceTokenId}": { + "get": { "tags": [ "Service Tokens" ], - "summary": "Update Token By ID", - "description": "This API provides capability to update user's Service Token", - "operationId": "updateServiceTokenByUuid", + "summary": "Get Token by uuid", + "description": "Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties.", + "operationId": "getServiceTokenByUuid", "parameters": [ { "name": "serviceTokenId", @@ -4292,36 +4275,6 @@ } } ], - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ServiceTokenUpdateRequest" - }, - "examples": { - "UpdateExpirationDate": { - "$ref": "#/components/examples/UpdateExpirationDate" - }, - "UpdateTokenName": { - "$ref": "#/components/examples/UpdateTokenName" - }, - "UpdateTokenDescription": { - "$ref": "#/components/examples/UpdateTokenDescription" - }, - "UpdateNotificationEmail": { - "$ref": "#/components/examples/UpdateNotificationEmail" - }, - "UpdateAsideTokenBandwidth": { - "$ref": "#/components/examples/UpdateAsideTokenBandwidth" - }, - "UpdateZsideTokenBandwidth": { - "$ref": "#/components/examples/UpdateZsideTokenBandwidth" - } - } - } - }, - "required": true - }, "responses": { "200": { "description": "Successful operation", @@ -4370,57 +4323,63 @@ } } } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/500" + } + } + } + } } } - } - }, - "/fabric/v4/serviceTokens": { - "get": { + }, + "delete": { "tags": [ "Service Tokens" ], - "summary": "Get All Tokens", - "description": "Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account.", - "operationId": "getServiceTokens", + "summary": "Delete Token by uuid", + "description": "Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state.", + "operationId": "deleteServiceTokenByUuid", "parameters": [ { - "name": "offset", - "in": "query", - "description": "offset", - "schema": { - "type": "number" - } - }, - { - "name": "limit", - "in": "query", - "description": "number of records to fetch", + "name": "serviceTokenId", + "in": "path", + "description": "Service Token UUID", + "required": true, "schema": { - "type": "number" + "$ref": "#/components/schemas/ServiceTokenUUID" } } ], "responses": { - "200": { - "description": "Successful operation", + "204": { + "description": "Deleted Service Token Successfully" + }, + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ServiceTokens" + "$ref": "#/components/schemas/ErrorList" }, "examples": { - "tokenExample": { - "$ref": "#/components/examples/getServiceTokens" - }, - "tokenCrhExample": { - "$ref": "#/components/examples/getServiceTokens-CRH" + "example": { + "$ref": "#/components/examples/400_UUID" } } } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4428,7 +4387,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/403" + "$ref": "#/components/examples/401" } } } @@ -4436,40 +4395,48 @@ } } }, - "post": { + "patch": { "tags": [ "Service Tokens" ], - "summary": "Create Service Token", - "description": "Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services.", - "operationId": "createServiceToken", + "summary": "Update Token By ID", + "description": "This API provides capability to update user's Service Token", + "operationId": "updateServiceTokenByUuid", + "parameters": [ + { + "name": "serviceTokenId", + "in": "path", + "description": "Service Token UUID", + "required": true, + "schema": { + "$ref": "#/components/schemas/ServiceTokenUUID" + } + } + ], "requestBody": { "content": { - "application/json": { + "application/json-patch+json": { "schema": { - "$ref": "#/components/schemas/ServiceToken" + "$ref": "#/components/schemas/ServiceTokenUpdateRequest" }, "examples": { - "AsideTokenWithQnQExample": { - "$ref": "#/components/examples/createServiceTokenWithQnQ" - }, - "AsideTokenWithDot1QExample": { - "$ref": "#/components/examples/createServiceTokenWithDot1Q" + "UpdateExpirationDate": { + "$ref": "#/components/examples/UpdateExpirationDate" }, - "AsideTokenWithVxlanExample": { - "$ref": "#/components/examples/createServiceTokenWithVxlan" + "UpdateTokenName": { + "$ref": "#/components/examples/UpdateTokenName" }, - "ZsideTokenWithQnQExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithQnQ" + "UpdateTokenDescription": { + "$ref": "#/components/examples/UpdateTokenDescription" }, - "ZsideTokenWithQnQ-CrhExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithQnQ-CRH" + "UpdateNotificationEmail": { + "$ref": "#/components/examples/UpdateNotificationEmail" }, - "ZsideTokenWithDot1QExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithDot1Q" + "UpdateAsideTokenBandwidth": { + "$ref": "#/components/examples/UpdateAsideTokenBandwidth" }, - "ZsideTokenWithVxlanExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithVxlan" + "UpdateZsideTokenBandwidth": { + "$ref": "#/components/examples/UpdateZsideTokenBandwidth" } } } @@ -4477,7 +4444,161 @@ "required": true }, "responses": { - "201": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceToken" + }, + "examples": { + "tokenExample": { + "$ref": "#/components/examples/getServiceToken" + }, + "tokenCrhExample": { + "$ref": "#/components/examples/getServiceToken-CRH" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/400_UUID" + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/403" + } + } + } + } + } + } + } + }, + "/fabric/v4/serviceTokens": { + "get": { + "tags": [ + "Service Tokens" + ], + "summary": "Get All Tokens", + "description": "Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account.", + "operationId": "getServiceTokens", + "parameters": [ + { + "name": "offset", + "in": "query", + "description": "offset", + "schema": { + "type": "number" + } + }, + { + "name": "limit", + "in": "query", + "description": "number of records to fetch", + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTokens" + }, + "examples": { + "tokenExample": { + "$ref": "#/components/examples/getServiceTokens" + }, + "tokenCrhExample": { + "$ref": "#/components/examples/getServiceTokens-CRH" + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/403" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Service Tokens" + ], + "summary": "Create Service Token", + "description": "Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services.", + "operationId": "createServiceToken", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceToken" + }, + "examples": { + "AsideTokenWithQnQExample": { + "$ref": "#/components/examples/createServiceTokenWithQnQ" + }, + "AsideTokenWithDot1QExample": { + "$ref": "#/components/examples/createServiceTokenWithDot1Q" + }, + "AsideTokenWithVxlanExample": { + "$ref": "#/components/examples/createServiceTokenWithVxlan" + }, + "ZsideTokenWithQnQExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithQnQ" + }, + "ZsideTokenWithQnQ-CrhExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithQnQ-CRH" + }, + "ZsideTokenWithDot1QExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithDot1Q" + }, + "ZsideTokenWithVxlanExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithVxlan" + } + } + } + }, + "required": true + }, + "responses": { + "201": { "description": "Successful operation", "content": { "application/json": { @@ -5459,44 +5580,173 @@ } } }, - "/fabric/v4/routers": { - "post": { + "/fabric/v4/connections/{connectionId}/routeFilters": { + "get": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "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" + "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" }, - "CreateProPackage": { - "$ref": "#/components/examples/CreateProPackage" + "examples": { + "connectionRouteFiltersResponse": { + "$ref": "#/components/examples/ConnectionRouteFiltersGetAll" + } } } } }, - "required": true - }, + "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": "Fabric Cloud Router object", + "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouter" + "$ref": "#/components/schemas/ConnectionRouteFilterData" }, "examples": { - "cloudRouterResponse": { - "$ref": "#/components/examples/CloudRouterPostResponseExample" + "connectionRouteFilterAttachResponse": { + "$ref": "#/components/examples/AttachConnectionRouteFiltersResponse" } } } @@ -5511,7 +5761,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_package" + "$ref": "#/components/examples/400_route_filters" } } } @@ -5547,6 +5797,21 @@ } } }, + "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": { @@ -5571,45 +5836,88 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } } } } - } - }, - "/fabric/v4/routers/{routerId}": { - "get": { + }, + "put": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Get Routers", - "description": "This API provides capability to retrieve user's Cloud Routers", - "operationId": "getCloudRouterByUuid", + "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, "schema": { - "$ref": "#/components/schemas/RouterId" + "$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": { - "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/CloudRouterResponseExample" + "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" } } } @@ -5646,7 +5954,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -5654,7 +5962,22 @@ }, "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" } } } @@ -5669,7 +5992,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } @@ -5679,25 +6002,49 @@ }, "delete": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Delete Routers", - "description": "This API provides capability to delete user's Cloud Routers", - "operationId": "deleteCloudRouterByUuid", + "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, "schema": { - "$ref": "#/components/schemas/RouterId" + "$ref": "#/components/schemas/RouteFilterId" + } + }, + { + "name": "connectionId", + "in": "path", + "description": "Connection Id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConnectionId" } } ], "responses": { - "204": { - "description": "Deleted Cloud Router Successfully" + "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", @@ -5708,7 +6055,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_state" + "$ref": "#/components/examples/400_transient_state" } } } @@ -5745,7 +6092,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -5753,7 +6100,22 @@ }, "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" } } } @@ -5768,47 +6130,33 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } } } } - }, - "patch": { + } + }, + "/fabric/v4/routeFilters": { + "post": { "tags": [ - "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, - "schema": { - "$ref": "#/components/schemas/RouterId" - } - } + "Route Filters" ], + "summary": "Create Route Filters", + "description": "This API provides capability to create a Route Filter", + "operationId": "createRouteFilter", + "parameters": [], "requestBody": { "content": { - "application/json-patch+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterUpdateRequest" + "$ref": "#/components/schemas/RouteFiltersBase" }, "examples": { - "UpdatePackage": { - "$ref": "#/components/examples/UpdatePackage" - }, - "UpdateName": { - "$ref": "#/components/examples/UpdateName" - }, - "UpdateNotificationEmail": { - "$ref": "#/components/examples/UpdateNotifications" + "RouteFilterBgpIpv4Prefix": { + "$ref": "#/components/examples/RouteFilterCreateBgpIpv4Prefix" } } } @@ -5816,16 +6164,16 @@ "required": true }, "responses": { - "200": { - "description": "Fabric Cloud Router object", + "202": { + "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouter" + "$ref": "#/components/schemas/RouteFiltersData" }, "examples": { - "cloudRouterResponse": { - "$ref": "#/components/examples/CloudRouterPatchResponseExample" + "getSpecificRouteFilterResponse": { + "$ref": "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" } } } @@ -5840,7 +6188,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_operation" + "$ref": "#/components/examples/400_route_filters" } } } @@ -5877,7 +6225,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -5885,7 +6233,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/404" + "$ref": "#/components/examples/404_invalid_id" } } } @@ -5915,7 +6263,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } @@ -5924,30 +6272,22 @@ } } }, - "/fabric/v4/routers/{routerId}/actions": { + "/fabric/v4/routeFilters/{routeFilterId}": { "get": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Get actions", - "description": "This API provides capability to fetch action status", - "operationId": "getCloudRouterActions", + "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, "schema": { - "$ref": "#/components/schemas/RouterId_1" - } - }, - { - "name": "state", - "in": "query", - "description": "Action state", - "schema": { - "$ref": "#/components/schemas/ActionState" + "$ref": "#/components/schemas/RouteFilterId" } } ], @@ -5957,11 +6297,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterActionResponse" + "$ref": "#/components/schemas/RouteFiltersData" }, "examples": { - "routerActionExample": { - "$ref": "#/components/examples/CloudRouterActionResponse" + "getSpecificRouteFilterResponse": { + "$ref": "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" } } } @@ -5976,7 +6316,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_operation" + "$ref": "#/components/examples/400_route_filters" } } } @@ -6013,7 +6353,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -6021,14 +6361,14 @@ }, "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": { @@ -6051,7 +6391,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } @@ -6059,21 +6399,21 @@ } } }, - "post": { + "put": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Route table actions", - "description": "This API provides capability to refresh route table and bgp session summary information", - "operationId": "createCloudRouterAction", + "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, "schema": { - "$ref": "#/components/schemas/RouterId_1" + "$ref": "#/components/schemas/RouteFilterId" } } ], @@ -6081,11 +6421,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterActionRequest" + "$ref": "#/components/schemas/RouteFiltersBase" }, "examples": { - "RouteEntriesStatusUpdate": { - "$ref": "#/components/examples/RouteEntriesStatusUpdate" + "RouteFilterIpv4ReplaceExample": { + "$ref": "#/components/examples/UpdateRouteFilterIPv4" } } } @@ -6098,11 +6438,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterActionResponse" + "$ref": "#/components/schemas/RouteFiltersData" }, "examples": { - "cloudRouterActionExample": { - "$ref": "#/components/examples/CloudRouterActionResponse" + "routeFilterIpv4ReplaceResponse": { + "$ref": "#/components/examples/RouteFilterIpv4ReplaceResponse" } } } @@ -6117,7 +6457,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_operation" + "$ref": "#/components/examples/400_route_filters" } } } @@ -6154,7 +6494,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -6162,14 +6502,14 @@ }, "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": { @@ -6192,68 +6532,44 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } } } } - } - }, - "/fabric/v4/routers/{routerId}/routes/search": { - "post": { + }, + "delete": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "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", + "summary": "Delete Route Filter", + "description": "This API provides capability to delete a Route Filter", + "operationId": "deleteRouteFilterByUuid", "parameters": [ { - "name": "routerId", + "name": "routeFilterId", "in": "path", - "description": "Router UUID", + "description": "Route Filters Id", "required": true, "schema": { - "$ref": "#/components/schemas/RouterId_1" + "$ref": "#/components/schemas/RouteFilterId" } } ], - "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": { + "202": { "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RouteTableEntrySearchResponse" + "$ref": "#/components/schemas/RouteFiltersData" + }, + "examples": { + "routeFilterDeleteBgpIpv4PrefixResponse": { + "$ref": "#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse" + } } } } @@ -6267,7 +6583,2575 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_sorting" + "$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/GetRouteFilterRulesResponse" + }, + "examples": { + "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": { + "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/routers/{routerId}": { + "get": { + "tags": [ + "Cloud Routers" + ], + "summary": "Get Routers", + "description": "This API provides capability to retrieve user's Cloud Routers", + "operationId": "getCloudRouterByUuid", + "parameters": [ + { + "name": "routerId", + "in": "path", + "description": "Cloud Router UUID", + "required": true, + "schema": { + "$ref": "#/components/schemas/RouterId" + } + } + ], + "responses": { + "200": { + "description": "Fabric Cloud Router object", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudRouter" + }, + "examples": { + "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, + "schema": { + "$ref": "#/components/schemas/RouterId" + } + } + ], + "responses": { + "204": { + "description": "Deleted Cloud Router Successfully" + }, + "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" + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/500" + } + } + } + } + } + } + }, + "patch": { + "tags": [ + "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, + "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" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Fabric Cloud Router object", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudRouter" + }, + "examples": { + "cloudRouterResponse": { + "$ref": "#/components/examples/CloudRouterPatchResponseExample" + } + } + } + } + }, + "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": "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" + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/500" + } + } + } + } + } + } + } + }, + "/fabric/v4/routers/{routerId}/actions": { + "get": { + "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", + "required": true, + "schema": { + "$ref": "#/components/schemas/RouterId_1" + } + }, + { + "name": "state", + "in": "query", + "description": "Action state", + "schema": { + "$ref": "#/components/schemas/ActionState" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$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/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": "Internal server error", + "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" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "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, + "schema": { + "$ref": "#/components/schemas/RouterId_1" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudRouterActionRequest" + }, + "examples": { + "RouteEntriesStatusUpdate": { + "$ref": "#/components/examples/RouteEntriesStatusUpdate" + } + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$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/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": "Internal server error", + "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/routers/{routerId}/routes/search": { + "post": { + "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", + "parameters": [ + { + "name": "routerId", + "in": "path", + "description": "Router UUID", + "required": true, + "schema": { + "$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/RouteTableEntrySearchResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/400_invalid_sorting" } } } @@ -6374,7 +9258,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValidateSubnetRequest" + "$ref": "#/components/schemas/ValidateRequest" }, "examples": { "ValidateDirectIpv4": { @@ -6807,7 +9691,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValidateConnectionRequest" + "$ref": "#/components/schemas/ValidateRequest" }, "examples": { "Alibaba-ValidateAuthKey": { @@ -7664,7 +10548,7 @@ "description": "Network Change UUID", "required": true, "schema": { - "$ref": "#/components/schemas/ChangeId_1" + "$ref": "#/components/schemas/ChangeId_3" } } ], @@ -7752,8 +10636,8 @@ "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": [ { @@ -7992,7 +10876,7 @@ "tags": [ "Precision Time" ], - "summary": "Delete Time Service", + "summary": "Delete time service", "description": "Delete EPT service by it's uuid", "operationId": "deleteTimeServiceById", "parameters": [ @@ -8088,7 +10972,7 @@ "tags": [ "Precision Time" ], - "summary": "Patch Time Service", + "summary": "Patch time service", "description": "The API provides capability to update timing service", "operationId": "updateTimeServicesById", "parameters": [ @@ -8349,7 +11233,7 @@ "tags": [ "Precision Time" ], - "summary": "Create Time Service", + "summary": "Create time service", "description": "The API provides capability to create timing service", "operationId": "createTimeServices", "parameters": [], @@ -8375,7 +11259,7 @@ "required": true }, "responses": { - "202": { + "200": { "description": "Successful operation", "content": { "application/json": { @@ -8602,7 +11486,7 @@ "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": [ @@ -8695,7 +11579,7 @@ } } }, - "/fabric/v4/timeServicePackages": { + "/fabric/v4/timeServicesPackages": { "get": { "tags": [ "Precision Time" @@ -8753,12 +11637,12 @@ } } }, - "/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": [ @@ -10376,6 +13260,10 @@ "type": "string", "description": "metro name" }, + "vcBandwidthMax": { + "type": "integer", + "description": "max VC speed supported in Mbps" + }, "ibxs": { "type": "array", "items": { @@ -10627,6 +13515,21 @@ }, "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", @@ -11359,6 +14262,460 @@ } } }, + "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/Pagination" + }, + "data": { + "type": "array", + "items": { + "$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": { + "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", + "allOf": [ + { + "$ref": "#/components/schemas/RouteFilterRulesChange" + } + ] + }, + "RouteFilterRulesPostRequest": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Route Filter Rule configuration", + "items": { + "$ref": "#/components/schemas/RouteFilterRulesBase" + } + } + }, + "description": "Create Route Filter Rule POST request" + }, "CloudRouterPostRequest": { "type": "object", "properties": { @@ -11664,14 +15021,14 @@ } } }, - "ValidateSubnetRequest": { + "ValidateRequest": { "type": "object", "properties": { "filter": { - "$ref": "#/components/schemas/ValidateSubnetRequest_filter" + "$ref": "#/components/schemas/ValidateRequest_filter" } }, - "description": "Validate subnet for Routing Protocol Configuration" + "description": "Validate connection auth api key or vlan" }, "ValidateSubnetResponse": { "type": "object", @@ -11832,7 +15189,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] }, @@ -11962,15 +15319,6 @@ }, "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": { @@ -12303,7 +15651,7 @@ }, "description": "List of network changes" }, - "ChangeId_1": { + "ChangeId_3": { "type": "string", "description": "Network Change UUID", "format": "uuid", @@ -12362,7 +15710,7 @@ "title": "precisionTimeServiceResponse", "required": [ "href", - "ipv4", + "networkingIpv4", "package", "state", "type", @@ -12422,7 +15770,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "ipv4": { + "networkingIpv4": { "$ref": "#/components/schemas/ipv4" }, "account": { @@ -12458,7 +15806,7 @@ "type": "string", "description": "path inside document leading to updated parameter", "enum": [ - "/ipv4", + "/networkingIpv4", "/name", "/advanceConfiguration/ntp", "/advanceConfiguration/ptp", @@ -12477,7 +15825,7 @@ "required": [ "connections", "name", - "ipv4", + "networkingIpv4", "package", "type" ], @@ -12506,7 +15854,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "ipv4": { + "networkingIpv4": { "$ref": "#/components/schemas/ipv4" }, "advanceConfiguration": { @@ -14014,6 +17362,203 @@ "/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" @@ -14065,7 +17610,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] } @@ -14230,7 +17775,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] }, @@ -14606,6 +18151,9 @@ "providerConnectionId": { "type": "string", "description": "Provider assigned Connection Id" + }, + "virtualNetwork": { + "$ref": "#/components/schemas/VirtualNetwork" } }, "description": "Access point object" @@ -15153,7 +18701,8 @@ "COLO", "SUBNET", "CLOUD_ROUTER", - "NETWORK" + "NETWORK", + "METAL_NETWORK" ] }, "SimplifiedPort": { @@ -15346,13 +18895,13 @@ "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": { @@ -15361,14 +18910,18 @@ }, "type": { "type": "string", - "description": "Virtual Device Interface type", + "description": "Interface type", "enum": [ "CLOUD", "NETWORK" ] + }, + "projectId": { + "type": "string", + "description": "Interface Project ID" } }, - "description": "Virtual Device Interface Information" + "description": "Interface Information" }, "SimplifiedNetwork": { "required": [ @@ -15439,6 +18992,23 @@ "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", @@ -15607,7 +19177,8 @@ "UNTAGGED", "DOT1Q", "QINQ", - "EVPN_VXLAN" + "EVPN_VXLAN", + "VXLAN" ] }, "VirtualConnectionPriceAccessPointType": { @@ -15636,7 +19207,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] }, @@ -15682,6 +19253,7 @@ "UNTAGGED": "#/components/schemas/LinkProtocolUntagged", "DOT1Q": "#/components/schemas/LinkProtocolDot1q", "QINQ": "#/components/schemas/LinkProtocolQinq", + "VXLAN": "#/components/schemas/LinkProtocolVxlan", "EVPN_VXLAN": "#/components/schemas/LinkProtocolEvpnVxlan" } }, @@ -15695,6 +19267,9 @@ { "$ref": "#/components/schemas/LinkProtocolQinq" }, + { + "$ref": "#/components/schemas/LinkProtocolVxlan" + }, { "$ref": "#/components/schemas/LinkProtocolEvpnVxlan" } @@ -15786,6 +19361,24 @@ }, "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", @@ -15838,7 +19431,7 @@ } } }, - "ValidateSubnetRequest_filter_and": { + "ValidateRequest_filter_and": { "properties": { "property": { "type": "string", @@ -15857,13 +19450,13 @@ } } }, - "ValidateSubnetRequest_filter": { + "ValidateRequest_filter": { "type": "object", "properties": { "and": { "type": "array", "items": { - "$ref": "#/components/schemas/ValidateSubnetRequest_filter_and" + "$ref": "#/components/schemas/ValidateRequest_filter_and" } } }, @@ -16854,54 +20447,6 @@ ] } }, - "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", @@ -18230,6 +21775,41 @@ ] } }, + "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", @@ -19024,6 +22604,66 @@ } } }, + "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": [ @@ -23748,7 +27388,7 @@ "values": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] } @@ -28589,6 +32229,763 @@ ] } }, + "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", @@ -28615,7 +33012,7 @@ } } }, - "CreateProPackage": { + "CreateStandardPackage": { "value": { "type": "XF_ROUTER", "name": "My-Cloud-Router", @@ -28623,7 +33020,7 @@ "metroCode": "SV" }, "package": { - "code": "PRO" + "code": "STANDARD" }, "notifications": [ { @@ -28653,7 +33050,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -28705,7 +33102,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -28802,7 +33199,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -28847,16 +33244,6 @@ } } }, - "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", @@ -29080,7 +33467,7 @@ { "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" } ] @@ -29145,7 +33532,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -29190,7 +33577,7 @@ "pagination": { "offset": 0, "limit": 20, - "total": 1 + "total": 2 }, "data": [ { @@ -29214,6 +33601,28 @@ "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" + } } ] } @@ -30508,10 +34917,10 @@ } ], "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", @@ -30957,7 +35366,7 @@ "package": { "code": "NTP_STANDARD" }, - "ipv4": { + "networkingIpv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -30977,7 +35386,7 @@ "package": { "code": "PTP_STANDARD" }, - "ipv4": { + "networkingIpv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -30997,7 +35406,7 @@ "package": { "code": "PTP_STANDARD" }, - "ipv4": { + "networkingIpv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -31046,10 +35455,15 @@ }, "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, @@ -31059,10 +35473,15 @@ } }, { - "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, @@ -31072,10 +35491,14 @@ } }, { - "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, @@ -31089,6 +35512,10 @@ "code": "PTP_ENTERPRISE", "type": "TIME_SERVICE_PACKAGE", "bandwidth": 10, + "bandwidthUnit": "Mbps", + "accuracyAvgMin": 1, + "accuracyAvgMax": 10, + "accuracyUnit": "millisecond", "clientsPerSecondMax": 20, "redundancySupported": true, "multiSubnetSupported": true, @@ -31106,6 +35533,11 @@ "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/oas3.fabric.patched.json b/spec/oas3.fabric.patched.json index 76ca7108..818b8962 100644 --- a/spec/oas3.fabric.patched.json +++ b/spec/oas3.fabric.patched.json @@ -13,7 +13,7 @@ "name": "Equinix Inc", "url": "https://developer.equinix.com/agreement" }, - "version": "4.10" + "version": "4.11" }, "externalDocs": { "description": "Find more information on Equinix Developer Portal", @@ -125,9 +125,6 @@ "Colo2Sp-Aws-Primary": { "$ref": "#/components/examples/COLO2AWSSPwithDot1q-Primary" }, - "Colo2Sp-Aws-Secondary": { - "$ref": "#/components/examples/COLO2AWSSPwithDot1q-Secondary" - }, "Colo2Sp-AzureDot1Q": { "$ref": "#/components/examples/COLO2AzureSPwithDot1q-Primary" }, @@ -220,6 +217,9 @@ }, "AsideServiceToken2ZsideServiceToken": { "$ref": "#/components/examples/AsideServiceToken2ZsideServiceToken" + }, + "Metal2Sp-Aws": { + "$ref": "#/components/examples/Metal2Sp-Aws" } } } @@ -267,6 +267,9 @@ }, "ServiceToken2PortResponseQinQ": { "$ref": "#/components/examples/AsideServiceToken2PortResponseWithQinq" + }, + "Metal2Sp-Aws": { + "$ref": "#/components/examples/Metal2Sp-Aws-Response" } } } @@ -4135,39 +4138,56 @@ } } }, - "/fabric/v4/serviceTokens/{serviceTokenId}": { + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros": { "get": { "tags": [ - "Service Tokens" + "Service Profiles" ], - "summary": "Get Token by uuid", - "description": "Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties.", - "operationId": "getServiceTokenByUuid", + "summary": "Get Profile Metros", + "description": "Get service profile metros by UUID.", + "operationId": "getServiceProfileMetrosByUuid", "parameters": [ { - "name": "serviceTokenId", + "name": "serviceProfileId", "in": "path", - "description": "Service Token UUID", + "description": "Service Profile UUID", "required": true, "schema": { - "$ref": "#/components/schemas/ServiceTokenUUID" + "$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": { + "application/json; charset=UTF-8": { "schema": { - "$ref": "#/components/schemas/ServiceToken" + "$ref": "#/components/schemas/ServiceMetros" }, "examples": { - "tokenExample": { - "$ref": "#/components/examples/getServiceToken" - }, - "tokenCrhExample": { - "$ref": "#/components/examples/getServiceToken-CRH" + "ServiceProfileMetros": { + "$ref": "#/components/examples/ServiceProfilesResponse" } } } @@ -4182,29 +4202,14 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_UUID" - } - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorList" - }, - "examples": { - "example": { - "$ref": "#/components/examples/403" + "$ref": "#/components/examples/sp-400" } } } } }, - "500": { - "description": "Internal server error", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4212,38 +4217,14 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/sp-401" } } } } - } - } - }, - "delete": { - "tags": [ - "Service Tokens" - ], - "summary": "Delete Token by uuid", - "description": "Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state.", - "operationId": "deleteServiceTokenByUuid", - "parameters": [ - { - "name": "serviceTokenId", - "in": "path", - "description": "Service Token UUID", - "required": true, - "schema": { - "$ref": "#/components/schemas/ServiceTokenUUID" - } - } - ], - "responses": { - "204": { - "description": "Deleted Service Token Successfully" }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4251,14 +4232,14 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_UUID" + "$ref": "#/components/examples/sp-403-read" } } } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -4266,21 +4247,23 @@ }, "examples": { "example": { - "$ref": "#/components/examples/401" + "$ref": "#/components/examples/sp-500" } } } } } } - }, - "patch": { + } + }, + "/fabric/v4/serviceTokens/{serviceTokenId}": { + "get": { "tags": [ "Service Tokens" ], - "summary": "Update Token By ID", - "description": "This API provides capability to update user's Service Token", - "operationId": "updateServiceTokenByUuid", + "summary": "Get Token by uuid", + "description": "Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties.", + "operationId": "getServiceTokenByUuid", "parameters": [ { "name": "serviceTokenId", @@ -4292,36 +4275,6 @@ } } ], - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ServiceTokenUpdateRequest" - }, - "examples": { - "UpdateExpirationDate": { - "$ref": "#/components/examples/UpdateExpirationDate" - }, - "UpdateTokenName": { - "$ref": "#/components/examples/UpdateTokenName" - }, - "UpdateTokenDescription": { - "$ref": "#/components/examples/UpdateTokenDescription" - }, - "UpdateNotificationEmail": { - "$ref": "#/components/examples/UpdateNotificationEmail" - }, - "UpdateAsideTokenBandwidth": { - "$ref": "#/components/examples/UpdateAsideTokenBandwidth" - }, - "UpdateZsideTokenBandwidth": { - "$ref": "#/components/examples/UpdateZsideTokenBandwidth" - } - } - } - }, - "required": true - }, "responses": { "200": { "description": "Successful operation", @@ -4370,57 +4323,63 @@ } } } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/500" + } + } + } + } } } - } - }, - "/fabric/v4/serviceTokens": { - "get": { + }, + "delete": { "tags": [ "Service Tokens" ], - "summary": "Get All Tokens", - "description": "Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account.", - "operationId": "getServiceTokens", + "summary": "Delete Token by uuid", + "description": "Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state.", + "operationId": "deleteServiceTokenByUuid", "parameters": [ { - "name": "offset", - "in": "query", - "description": "offset", - "schema": { - "type": "number" - } - }, - { - "name": "limit", - "in": "query", - "description": "number of records to fetch", + "name": "serviceTokenId", + "in": "path", + "description": "Service Token UUID", + "required": true, "schema": { - "type": "number" + "$ref": "#/components/schemas/ServiceTokenUUID" } } ], "responses": { - "200": { - "description": "Successful operation", + "204": { + "description": "Deleted Service Token Successfully" + }, + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ServiceTokens" + "$ref": "#/components/schemas/ErrorList" }, "examples": { - "tokenExample": { - "$ref": "#/components/examples/getServiceTokens" - }, - "tokenCrhExample": { - "$ref": "#/components/examples/getServiceTokens-CRH" + "example": { + "$ref": "#/components/examples/400_UUID" } } } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4428,7 +4387,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/403" + "$ref": "#/components/examples/401" } } } @@ -4436,40 +4395,48 @@ } } }, - "post": { + "patch": { "tags": [ "Service Tokens" ], - "summary": "Create Service Token", - "description": "Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services.", - "operationId": "createServiceToken", + "summary": "Update Token By ID", + "description": "This API provides capability to update user's Service Token", + "operationId": "updateServiceTokenByUuid", + "parameters": [ + { + "name": "serviceTokenId", + "in": "path", + "description": "Service Token UUID", + "required": true, + "schema": { + "$ref": "#/components/schemas/ServiceTokenUUID" + } + } + ], "requestBody": { "content": { - "application/json": { + "application/json-patch+json": { "schema": { - "$ref": "#/components/schemas/ServiceToken" + "$ref": "#/components/schemas/ServiceTokenUpdateRequest" }, "examples": { - "AsideTokenWithQnQExample": { - "$ref": "#/components/examples/createServiceTokenWithQnQ" - }, - "AsideTokenWithDot1QExample": { - "$ref": "#/components/examples/createServiceTokenWithDot1Q" + "UpdateExpirationDate": { + "$ref": "#/components/examples/UpdateExpirationDate" }, - "AsideTokenWithVxlanExample": { - "$ref": "#/components/examples/createServiceTokenWithVxlan" + "UpdateTokenName": { + "$ref": "#/components/examples/UpdateTokenName" }, - "ZsideTokenWithQnQExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithQnQ" + "UpdateTokenDescription": { + "$ref": "#/components/examples/UpdateTokenDescription" }, - "ZsideTokenWithQnQ-CrhExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithQnQ-CRH" + "UpdateNotificationEmail": { + "$ref": "#/components/examples/UpdateNotificationEmail" }, - "ZsideTokenWithDot1QExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithDot1Q" + "UpdateAsideTokenBandwidth": { + "$ref": "#/components/examples/UpdateAsideTokenBandwidth" }, - "ZsideTokenWithVxlanExample": { - "$ref": "#/components/examples/createZsideServiceTokenWithVxlan" + "UpdateZsideTokenBandwidth": { + "$ref": "#/components/examples/UpdateZsideTokenBandwidth" } } } @@ -4477,7 +4444,161 @@ "required": true }, "responses": { - "201": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceToken" + }, + "examples": { + "tokenExample": { + "$ref": "#/components/examples/getServiceToken" + }, + "tokenCrhExample": { + "$ref": "#/components/examples/getServiceToken-CRH" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/400_UUID" + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/403" + } + } + } + } + } + } + } + }, + "/fabric/v4/serviceTokens": { + "get": { + "tags": [ + "Service Tokens" + ], + "summary": "Get All Tokens", + "description": "Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account.", + "operationId": "getServiceTokens", + "parameters": [ + { + "name": "offset", + "in": "query", + "description": "offset", + "schema": { + "type": "number" + } + }, + { + "name": "limit", + "in": "query", + "description": "number of records to fetch", + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTokens" + }, + "examples": { + "tokenExample": { + "$ref": "#/components/examples/getServiceTokens" + }, + "tokenCrhExample": { + "$ref": "#/components/examples/getServiceTokens-CRH" + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/403" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Service Tokens" + ], + "summary": "Create Service Token", + "description": "Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services.", + "operationId": "createServiceToken", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceToken" + }, + "examples": { + "AsideTokenWithQnQExample": { + "$ref": "#/components/examples/createServiceTokenWithQnQ" + }, + "AsideTokenWithDot1QExample": { + "$ref": "#/components/examples/createServiceTokenWithDot1Q" + }, + "AsideTokenWithVxlanExample": { + "$ref": "#/components/examples/createServiceTokenWithVxlan" + }, + "ZsideTokenWithQnQExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithQnQ" + }, + "ZsideTokenWithQnQ-CrhExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithQnQ-CRH" + }, + "ZsideTokenWithDot1QExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithDot1Q" + }, + "ZsideTokenWithVxlanExample": { + "$ref": "#/components/examples/createZsideServiceTokenWithVxlan" + } + } + } + }, + "required": true + }, + "responses": { + "201": { "description": "Successful operation", "content": { "application/json": { @@ -5459,44 +5580,173 @@ } } }, - "/fabric/v4/routers": { - "post": { + "/fabric/v4/connections/{connectionId}/routeFilters": { + "get": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "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" + "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" }, - "CreateProPackage": { - "$ref": "#/components/examples/CreateProPackage" + "examples": { + "connectionRouteFiltersResponse": { + "$ref": "#/components/examples/ConnectionRouteFiltersGetAll" + } } } } }, - "required": true - }, + "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": "Fabric Cloud Router object", + "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouter" + "$ref": "#/components/schemas/ConnectionRouteFilterData" }, "examples": { - "cloudRouterResponse": { - "$ref": "#/components/examples/CloudRouterPostResponseExample" + "connectionRouteFilterAttachResponse": { + "$ref": "#/components/examples/AttachConnectionRouteFiltersResponse" } } } @@ -5511,7 +5761,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_package" + "$ref": "#/components/examples/400_route_filters" } } } @@ -5547,6 +5797,21 @@ } } }, + "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": { @@ -5571,45 +5836,88 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } } } } - } - }, - "/fabric/v4/routers/{routerId}": { - "get": { + }, + "put": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Get Routers", - "description": "This API provides capability to retrieve user's Cloud Routers", - "operationId": "getCloudRouterByUuid", + "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, "schema": { - "$ref": "#/components/schemas/RouterId" + "$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": { - "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/CloudRouterResponseExample" + "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" } } } @@ -5646,7 +5954,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -5654,7 +5962,22 @@ }, "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" } } } @@ -5669,7 +5992,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } @@ -5679,25 +6002,49 @@ }, "delete": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Delete Routers", - "description": "This API provides capability to delete user's Cloud Routers", - "operationId": "deleteCloudRouterByUuid", + "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, "schema": { - "$ref": "#/components/schemas/RouterId" + "$ref": "#/components/schemas/RouteFilterId" + } + }, + { + "name": "connectionId", + "in": "path", + "description": "Connection Id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConnectionId" } } ], "responses": { - "204": { - "description": "Deleted Cloud Router Successfully" + "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", @@ -5708,7 +6055,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_state" + "$ref": "#/components/examples/400_transient_state" } } } @@ -5745,7 +6092,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -5753,7 +6100,22 @@ }, "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" } } } @@ -5768,47 +6130,33 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } } } } - }, - "patch": { + } + }, + "/fabric/v4/routeFilters": { + "post": { "tags": [ - "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, - "schema": { - "$ref": "#/components/schemas/RouterId" - } - } + "Route Filters" ], + "summary": "Create Route Filters", + "description": "This API provides capability to create a Route Filter", + "operationId": "createRouteFilter", + "parameters": [], "requestBody": { "content": { - "application/json-patch+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterUpdateRequest" + "$ref": "#/components/schemas/RouteFiltersBase" }, "examples": { - "UpdatePackage": { - "$ref": "#/components/examples/UpdatePackage" - }, - "UpdateName": { - "$ref": "#/components/examples/UpdateName" - }, - "UpdateNotificationEmail": { - "$ref": "#/components/examples/UpdateNotifications" + "RouteFilterBgpIpv4Prefix": { + "$ref": "#/components/examples/RouteFilterCreateBgpIpv4Prefix" } } } @@ -5816,16 +6164,16 @@ "required": true }, "responses": { - "200": { - "description": "Fabric Cloud Router object", + "202": { + "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouter" + "$ref": "#/components/schemas/RouteFiltersData" }, "examples": { - "cloudRouterResponse": { - "$ref": "#/components/examples/CloudRouterPatchResponseExample" + "getSpecificRouteFilterResponse": { + "$ref": "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" } } } @@ -5840,7 +6188,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_operation" + "$ref": "#/components/examples/400_route_filters" } } } @@ -5877,7 +6225,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -5885,7 +6233,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/404" + "$ref": "#/components/examples/404_invalid_id" } } } @@ -5915,7 +6263,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } @@ -5924,30 +6272,22 @@ } } }, - "/fabric/v4/routers/{routerId}/actions": { + "/fabric/v4/routeFilters/{routeFilterId}": { "get": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Get actions", - "description": "This API provides capability to fetch action status", - "operationId": "getCloudRouterActions", + "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, "schema": { - "$ref": "#/components/schemas/RouterId_1" - } - }, - { - "name": "state", - "in": "query", - "description": "Action state", - "schema": { - "$ref": "#/components/schemas/ActionState" + "$ref": "#/components/schemas/RouteFilterId" } } ], @@ -5957,11 +6297,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterActionResponse" + "$ref": "#/components/schemas/RouteFiltersData" }, "examples": { - "routerActionExample": { - "$ref": "#/components/examples/CloudRouterActionResponse" + "getSpecificRouteFilterResponse": { + "$ref": "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" } } } @@ -5976,7 +6316,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_operation" + "$ref": "#/components/examples/400_route_filters" } } } @@ -6013,7 +6353,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -6021,14 +6361,14 @@ }, "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": { @@ -6051,7 +6391,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } @@ -6059,21 +6399,21 @@ } } }, - "post": { + "put": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "summary": "Route table actions", - "description": "This API provides capability to refresh route table and bgp session summary information", - "operationId": "createCloudRouterAction", + "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, "schema": { - "$ref": "#/components/schemas/RouterId_1" + "$ref": "#/components/schemas/RouteFilterId" } } ], @@ -6081,11 +6421,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterActionRequest" + "$ref": "#/components/schemas/RouteFiltersBase" }, "examples": { - "RouteEntriesStatusUpdate": { - "$ref": "#/components/examples/RouteEntriesStatusUpdate" + "RouteFilterIpv4ReplaceExample": { + "$ref": "#/components/examples/UpdateRouteFilterIPv4" } } } @@ -6098,11 +6438,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CloudRouterActionResponse" + "$ref": "#/components/schemas/RouteFiltersData" }, "examples": { - "cloudRouterActionExample": { - "$ref": "#/components/examples/CloudRouterActionResponse" + "routeFilterIpv4ReplaceResponse": { + "$ref": "#/components/examples/RouteFilterIpv4ReplaceResponse" } } } @@ -6117,7 +6457,7 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_operation" + "$ref": "#/components/examples/400_route_filters" } } } @@ -6154,7 +6494,7 @@ } }, "404": { - "description": "Not Found", + "description": "Route Filter ID Not Found", "content": { "application/json": { "schema": { @@ -6162,14 +6502,14 @@ }, "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": { @@ -6192,68 +6532,44 @@ }, "examples": { "example": { - "$ref": "#/components/examples/500" + "$ref": "#/components/examples/500_internal_error" } } } } } } - } - }, - "/fabric/v4/routers/{routerId}/routes/search": { - "post": { + }, + "delete": { "tags": [ - "Cloud Routers" + "Route Filters" ], - "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", + "summary": "Delete Route Filter", + "description": "This API provides capability to delete a Route Filter", + "operationId": "deleteRouteFilterByUuid", "parameters": [ { - "name": "routerId", + "name": "routeFilterId", "in": "path", - "description": "Router UUID", + "description": "Route Filters Id", "required": true, "schema": { - "$ref": "#/components/schemas/RouterId_1" + "$ref": "#/components/schemas/RouteFilterId" } } ], - "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": { + "202": { "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RouteTableEntrySearchResponse" + "$ref": "#/components/schemas/RouteFiltersData" + }, + "examples": { + "routeFilterDeleteBgpIpv4PrefixResponse": { + "$ref": "#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse" + } } } } @@ -6267,7 +6583,2575 @@ }, "examples": { "example": { - "$ref": "#/components/examples/400_invalid_sorting" + "$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/GetRouteFilterRulesResponse" + }, + "examples": { + "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": { + "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/routers/{routerId}": { + "get": { + "tags": [ + "Cloud Routers" + ], + "summary": "Get Routers", + "description": "This API provides capability to retrieve user's Cloud Routers", + "operationId": "getCloudRouterByUuid", + "parameters": [ + { + "name": "routerId", + "in": "path", + "description": "Cloud Router UUID", + "required": true, + "schema": { + "$ref": "#/components/schemas/RouterId" + } + } + ], + "responses": { + "200": { + "description": "Fabric Cloud Router object", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudRouter" + }, + "examples": { + "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, + "schema": { + "$ref": "#/components/schemas/RouterId" + } + } + ], + "responses": { + "204": { + "description": "Deleted Cloud Router Successfully" + }, + "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" + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/500" + } + } + } + } + } + } + }, + "patch": { + "tags": [ + "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, + "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" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Fabric Cloud Router object", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudRouter" + }, + "examples": { + "cloudRouterResponse": { + "$ref": "#/components/examples/CloudRouterPatchResponseExample" + } + } + } + } + }, + "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": "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" + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/500" + } + } + } + } + } + } + } + }, + "/fabric/v4/routers/{routerId}/actions": { + "get": { + "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", + "required": true, + "schema": { + "$ref": "#/components/schemas/RouterId_1" + } + }, + { + "name": "state", + "in": "query", + "description": "Action state", + "schema": { + "$ref": "#/components/schemas/ActionState" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$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/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": "Internal server error", + "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" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "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, + "schema": { + "$ref": "#/components/schemas/RouterId_1" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudRouterActionRequest" + }, + "examples": { + "RouteEntriesStatusUpdate": { + "$ref": "#/components/examples/RouteEntriesStatusUpdate" + } + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$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/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": "Internal server error", + "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/routers/{routerId}/routes/search": { + "post": { + "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", + "parameters": [ + { + "name": "routerId", + "in": "path", + "description": "Router UUID", + "required": true, + "schema": { + "$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/RouteTableEntrySearchResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorList" + }, + "examples": { + "example": { + "$ref": "#/components/examples/400_invalid_sorting" } } } @@ -6374,7 +9258,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValidateSubnetRequest" + "$ref": "#/components/schemas/ValidateRequest" }, "examples": { "ValidateDirectIpv4": { @@ -6807,7 +9691,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValidateConnectionRequest" + "$ref": "#/components/schemas/ValidateRequest" }, "examples": { "Alibaba-ValidateAuthKey": { @@ -7664,7 +10548,7 @@ "description": "Network Change UUID", "required": true, "schema": { - "$ref": "#/components/schemas/ChangeId_1" + "$ref": "#/components/schemas/ChangeId_3" } } ], @@ -7752,8 +10636,8 @@ "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": [ { @@ -7992,7 +10876,7 @@ "tags": [ "Precision Time" ], - "summary": "Delete Time Service", + "summary": "Delete time service", "description": "Delete EPT service by it's uuid", "operationId": "deleteTimeServiceById", "parameters": [ @@ -8088,7 +10972,7 @@ "tags": [ "Precision Time" ], - "summary": "Patch Time Service", + "summary": "Patch time service", "description": "The API provides capability to update timing service", "operationId": "updateTimeServicesById", "parameters": [ @@ -8349,7 +11233,7 @@ "tags": [ "Precision Time" ], - "summary": "Create Time Service", + "summary": "Create time service", "description": "The API provides capability to create timing service", "operationId": "createTimeServices", "parameters": [], @@ -8375,7 +11259,7 @@ "required": true }, "responses": { - "202": { + "200": { "description": "Successful operation", "content": { "application/json": { @@ -8602,7 +11486,7 @@ "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": [ @@ -8695,7 +11579,7 @@ } } }, - "/fabric/v4/timeServicePackages": { + "/fabric/v4/timeServicesPackages": { "get": { "tags": [ "Precision Time" @@ -8753,12 +11637,12 @@ } } }, - "/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": [ @@ -10376,6 +13260,10 @@ "type": "string", "description": "metro name" }, + "vcBandwidthMax": { + "type": "integer", + "description": "max VC speed supported in Mbps" + }, "ibxs": { "type": "array", "items": { @@ -10627,6 +13515,21 @@ }, "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", @@ -11359,6 +14262,460 @@ } } }, + "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/Pagination" + }, + "data": { + "type": "array", + "items": { + "$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": { + "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", + "allOf": [ + { + "$ref": "#/components/schemas/RouteFilterRulesChange" + } + ] + }, + "RouteFilterRulesPostRequest": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Route Filter Rule configuration", + "items": { + "$ref": "#/components/schemas/RouteFilterRulesBase" + } + } + }, + "description": "Create Route Filter Rule POST request" + }, "CloudRouterPostRequest": { "type": "object", "properties": { @@ -11664,14 +15021,14 @@ } } }, - "ValidateSubnetRequest": { + "ValidateRequest": { "type": "object", "properties": { "filter": { - "$ref": "#/components/schemas/ValidateSubnetRequest_filter" + "$ref": "#/components/schemas/ValidateRequest_filter" } }, - "description": "Validate subnet for Routing Protocol Configuration" + "description": "Validate connection auth api key or vlan" }, "ValidateSubnetResponse": { "type": "object", @@ -11832,7 +15189,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] }, @@ -11962,15 +15319,6 @@ }, "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": { @@ -12303,7 +15651,7 @@ }, "description": "List of network changes" }, - "ChangeId_1": { + "ChangeId_3": { "type": "string", "description": "Network Change UUID", "format": "uuid", @@ -12362,7 +15710,7 @@ "title": "precisionTimeServiceResponse", "required": [ "href", - "ipv4", + "networkingIpv4", "package", "state", "type", @@ -12422,7 +15770,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "ipv4": { + "networkingIpv4": { "$ref": "#/components/schemas/ipv4" }, "account": { @@ -12458,7 +15806,7 @@ "type": "string", "description": "path inside document leading to updated parameter", "enum": [ - "/ipv4", + "/networkingIpv4", "/name", "/advanceConfiguration/ntp", "/advanceConfiguration/ptp", @@ -12477,7 +15825,7 @@ "required": [ "connections", "name", - "ipv4", + "networkingIpv4", "package", "type" ], @@ -12506,7 +15854,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "ipv4": { + "networkingIpv4": { "$ref": "#/components/schemas/ipv4" }, "advanceConfiguration": { @@ -14014,6 +17362,203 @@ "/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" @@ -14065,7 +17610,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] } @@ -14230,7 +17775,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] }, @@ -14606,6 +18151,9 @@ "providerConnectionId": { "type": "string", "description": "Provider assigned Connection Id" + }, + "virtualNetwork": { + "$ref": "#/components/schemas/VirtualNetwork" } }, "description": "Access point object" @@ -15153,7 +18701,8 @@ "COLO", "SUBNET", "CLOUD_ROUTER", - "NETWORK" + "NETWORK", + "METAL_NETWORK" ] }, "SimplifiedPort": { @@ -15346,13 +18895,13 @@ "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": { @@ -15361,14 +18910,18 @@ }, "type": { "type": "string", - "description": "Virtual Device Interface type", + "description": "Interface type", "enum": [ "CLOUD", "NETWORK" ] + }, + "projectId": { + "type": "string", + "description": "Interface Project ID" } }, - "description": "Virtual Device Interface Information" + "description": "Interface Information" }, "SimplifiedNetwork": { "required": [ @@ -15439,6 +18992,23 @@ "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", @@ -15607,7 +19177,8 @@ "UNTAGGED", "DOT1Q", "QINQ", - "EVPN_VXLAN" + "EVPN_VXLAN", + "VXLAN" ] }, "VirtualConnectionPriceAccessPointType": { @@ -15636,7 +19207,7 @@ "enum": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] }, @@ -15682,6 +19253,7 @@ "UNTAGGED": "#/components/schemas/LinkProtocolUntagged", "DOT1Q": "#/components/schemas/LinkProtocolDot1q", "QINQ": "#/components/schemas/LinkProtocolQinq", + "VXLAN": "#/components/schemas/LinkProtocolVxlan", "EVPN_VXLAN": "#/components/schemas/LinkProtocolEvpnVxlan" } }, @@ -15695,6 +19267,9 @@ { "$ref": "#/components/schemas/LinkProtocolQinq" }, + { + "$ref": "#/components/schemas/LinkProtocolVxlan" + }, { "$ref": "#/components/schemas/LinkProtocolEvpnVxlan" } @@ -15786,6 +19361,24 @@ }, "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", @@ -15838,7 +19431,7 @@ } } }, - "ValidateSubnetRequest_filter_and": { + "ValidateRequest_filter_and": { "properties": { "property": { "type": "string", @@ -15857,13 +19450,13 @@ } } }, - "ValidateSubnetRequest_filter": { + "ValidateRequest_filter": { "type": "object", "properties": { "and": { "type": "array", "items": { - "$ref": "#/components/schemas/ValidateSubnetRequest_filter_and" + "$ref": "#/components/schemas/ValidateRequest_filter_and" } } }, @@ -16854,54 +20447,6 @@ ] } }, - "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", @@ -18230,6 +21775,41 @@ ] } }, + "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", @@ -19024,6 +22604,66 @@ } } }, + "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": [ @@ -23748,7 +27388,7 @@ "values": [ "LAB", "BASIC", - "PRO", + "STANDARD", "PREMIUM" ] } @@ -28589,6 +32229,763 @@ ] } }, + "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", @@ -28615,7 +33012,7 @@ } } }, - "CreateProPackage": { + "CreateStandardPackage": { "value": { "type": "XF_ROUTER", "name": "My-Cloud-Router", @@ -28623,7 +33020,7 @@ "metroCode": "SV" }, "package": { - "code": "PRO" + "code": "STANDARD" }, "notifications": [ { @@ -28653,7 +33050,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -28705,7 +33102,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -28802,7 +33199,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -28847,16 +33244,6 @@ } } }, - "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", @@ -29080,7 +33467,7 @@ { "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" } ] @@ -29145,7 +33532,7 @@ }, "equinixAsn": 30000, "package": { - "code": "PRO" + "code": "STANDARD" }, "order": { "purchaseOrderNumber": "1-129105284100" @@ -29190,7 +33577,7 @@ "pagination": { "offset": 0, "limit": 20, - "total": 1 + "total": 2 }, "data": [ { @@ -29214,6 +33601,28 @@ "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" + } } ] } @@ -30508,10 +34917,10 @@ } ], "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", @@ -30957,7 +35366,7 @@ "package": { "code": "NTP_STANDARD" }, - "ipv4": { + "networkingIpv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -30977,7 +35386,7 @@ "package": { "code": "PTP_STANDARD" }, - "ipv4": { + "networkingIpv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -30997,7 +35406,7 @@ "package": { "code": "PTP_STANDARD" }, - "ipv4": { + "networkingIpv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -31046,10 +35455,15 @@ }, "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, @@ -31059,10 +35473,15 @@ } }, { - "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, @@ -31072,10 +35491,14 @@ } }, { - "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, @@ -31089,6 +35512,10 @@ "code": "PTP_ENTERPRISE", "type": "TIME_SERVICE_PACKAGE", "bandwidth": 10, + "bandwidthUnit": "Mbps", + "accuracyAvgMin": 1, + "accuracyAvgMax": 10, + "accuracyUnit": "millisecond", "clientsPerSecondMax": 20, "redundancySupported": true, "multiSubnetSupported": true, @@ -31106,6 +35533,11 @@ "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 8ac210c0f416b410b60cfaa12c610b2b98181012 Mon Sep 17 00:00:00 2001 From: srushti-patl Date: Mon, 11 Dec 2023 14:50:21 -0800 Subject: [PATCH 2/3] CXF-82051 Update JAVA SDK with new changes for EPT services --- spec/oas3.fabric.fetched.json | 363 ++++------------------------------ spec/oas3.fabric.patched.json | 363 ++++------------------------------ 2 files changed, 78 insertions(+), 648 deletions(-) diff --git a/spec/oas3.fabric.fetched.json b/spec/oas3.fabric.fetched.json index 818b8962..35520d0a 100644 --- a/spec/oas3.fabric.fetched.json +++ b/spec/oas3.fabric.fetched.json @@ -10636,8 +10636,8 @@ "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": [ { @@ -10651,7 +10651,7 @@ } ], "responses": { - "200": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -10891,7 +10891,7 @@ } ], "responses": { - "204": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -10990,6 +10990,7 @@ "content": { "application/json-patch+json": { "schema": { + "maxItems": 1, "minItems": 1, "type": "array", "items": { @@ -11006,7 +11007,7 @@ "required": true }, "responses": { - "200": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -11233,7 +11234,7 @@ "tags": [ "Precision Time" ], - "summary": "Create time service", + "summary": "Create Time Service", "description": "The API provides capability to create timing service", "operationId": "createTimeServices", "parameters": [], @@ -11259,7 +11260,7 @@ "required": true }, "responses": { - "200": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -11480,236 +11481,6 @@ } } } - }, - "/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": { @@ -15710,7 +15481,7 @@ "title": "precisionTimeServiceResponse", "required": [ "href", - "networkingIpv4", + "ipv4", "package", "state", "type", @@ -15770,7 +15541,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "networkingIpv4": { + "ipv4": { "$ref": "#/components/schemas/ipv4" }, "account": { @@ -15806,7 +15577,7 @@ "type": "string", "description": "path inside document leading to updated parameter", "enum": [ - "/networkingIpv4", + "/ipv4", "/name", "/advanceConfiguration/ntp", "/advanceConfiguration/ptp", @@ -15824,8 +15595,8 @@ "title": "precisionTimeServiceRequest", "required": [ "connections", + "ipv4", "name", - "networkingIpv4", "package", "type" ], @@ -15854,7 +15625,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "networkingIpv4": { + "ipv4": { "$ref": "#/components/schemas/ipv4" }, "advanceConfiguration": { @@ -15866,40 +15637,6 @@ }, "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", @@ -18076,26 +17813,6 @@ "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", @@ -34913,14 +34630,15 @@ "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", @@ -35366,7 +35084,7 @@ "package": { "code": "NTP_STANDARD" }, - "networkingIpv4": { + "ipv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -35386,7 +35104,7 @@ "package": { "code": "PTP_STANDARD" }, - "networkingIpv4": { + "ipv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -35406,7 +35124,7 @@ "package": { "code": "PTP_STANDARD" }, - "networkingIpv4": { + "ipv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -35455,16 +35173,15 @@ }, "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": { @@ -35473,16 +35190,15 @@ } }, { - "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": { @@ -35491,15 +35207,15 @@ } }, { - "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": { @@ -35508,15 +35224,15 @@ } }, { - "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": { @@ -35529,16 +35245,15 @@ }, "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/oas3.fabric.patched.json b/spec/oas3.fabric.patched.json index 818b8962..35520d0a 100644 --- a/spec/oas3.fabric.patched.json +++ b/spec/oas3.fabric.patched.json @@ -10636,8 +10636,8 @@ "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": [ { @@ -10651,7 +10651,7 @@ } ], "responses": { - "200": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -10891,7 +10891,7 @@ } ], "responses": { - "204": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -10990,6 +10990,7 @@ "content": { "application/json-patch+json": { "schema": { + "maxItems": 1, "minItems": 1, "type": "array", "items": { @@ -11006,7 +11007,7 @@ "required": true }, "responses": { - "200": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -11233,7 +11234,7 @@ "tags": [ "Precision Time" ], - "summary": "Create time service", + "summary": "Create Time Service", "description": "The API provides capability to create timing service", "operationId": "createTimeServices", "parameters": [], @@ -11259,7 +11260,7 @@ "required": true }, "responses": { - "200": { + "202": { "description": "Successful operation", "content": { "application/json": { @@ -11480,236 +11481,6 @@ } } } - }, - "/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": { @@ -15710,7 +15481,7 @@ "title": "precisionTimeServiceResponse", "required": [ "href", - "networkingIpv4", + "ipv4", "package", "state", "type", @@ -15770,7 +15541,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "networkingIpv4": { + "ipv4": { "$ref": "#/components/schemas/ipv4" }, "account": { @@ -15806,7 +15577,7 @@ "type": "string", "description": "path inside document leading to updated parameter", "enum": [ - "/networkingIpv4", + "/ipv4", "/name", "/advanceConfiguration/ntp", "/advanceConfiguration/ptp", @@ -15824,8 +15595,8 @@ "title": "precisionTimeServiceRequest", "required": [ "connections", + "ipv4", "name", - "networkingIpv4", "package", "type" ], @@ -15854,7 +15625,7 @@ "$ref": "#/components/schemas/fabricConnectionUuid" } }, - "networkingIpv4": { + "ipv4": { "$ref": "#/components/schemas/ipv4" }, "advanceConfiguration": { @@ -15866,40 +15637,6 @@ }, "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", @@ -18076,26 +17813,6 @@ "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", @@ -34913,14 +34630,15 @@ "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", @@ -35366,7 +35084,7 @@ "package": { "code": "NTP_STANDARD" }, - "networkingIpv4": { + "ipv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -35386,7 +35104,7 @@ "package": { "code": "PTP_STANDARD" }, - "networkingIpv4": { + "ipv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -35406,7 +35124,7 @@ "package": { "code": "PTP_STANDARD" }, - "networkingIpv4": { + "ipv4": { "primary": "192.168.0.2", "secondary": "192.168.0.3", "networkMask": "255.255.255.255", @@ -35455,16 +35173,15 @@ }, "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": { @@ -35473,16 +35190,15 @@ } }, { - "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": { @@ -35491,15 +35207,15 @@ } }, { - "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": { @@ -35508,15 +35224,15 @@ } }, { - "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": { @@ -35529,16 +35245,15 @@ }, "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": { From 31f667fd5031b316528176a77a7ca69302a7cbd4 Mon Sep 17 00:00:00 2001 From: "equinix-labs@auto-commit-workflow" Date: Mon, 11 Dec 2023 23:01:57 +0000 Subject: [PATCH 3/3] Auto commit generated client changes - Mon Dec 11 23:01:57 UTC 2023 --- .../.openapi-generator/FILES | 114 +- equinix-openapi-fabric/README.md | 73 +- equinix-openapi-fabric/api/openapi.yaml | 7077 ++++++++++++----- equinix-openapi-fabric/build.gradle | 2 +- equinix-openapi-fabric/build.sbt | 2 +- equinix-openapi-fabric/docs/AccessPoint.md | 1 + .../docs/AccessPointType.md | 2 + .../docs/CloudRouterPackageType.md | 2 +- .../docs/CloudRoutersApi.md | 2 +- equinix-openapi-fabric/docs/Code.md | 2 +- equinix-openapi-fabric/docs/ConnectionLink.md | 23 - .../docs/ConnectionRouteFilterData.md | 47 + .../docs/ConnectionRouteFiltersBase.md | 22 + equinix-openapi-fabric/docs/ConnectionsApi.md | 8 +- .../docs/FabricCloudRouterCode.md | 2 +- .../GetAllConnectionRouteFiltersResponse.md | 14 + .../GetRouteFilterGetConnectionsResponse.md | 14 + ...onse.md => GetRouteFilterRulesResponse.md} | 5 +- equinix-openapi-fabric/docs/LinkProtocol.md | 1 + .../docs/LinkProtocolType.md | 2 + .../docs/LinkProtocolVxlan.md | 15 + equinix-openapi-fabric/docs/ModelInterface.md | 9 +- .../docs/PrecisionTimeApi.md | 222 +- ...PrecisionTimeServiceConnectionsResponse.md | 15 - .../docs/RouteFilterChangeData.md | 46 + .../docs/RouteFilterChangeDataResponse.md | 15 + .../docs/RouteFilterChangePrefixMatch.md | 16 + .../docs/RouteFilterConnectionsData.md | 16 + .../docs/RouteFilterRulesApi.md | 695 ++ .../docs/RouteFilterRulesBase.md | 16 + .../docs/RouteFilterRulesChange.md | 29 + .../docs/RouteFilterRulesChangeData.md | 45 + .../RouteFilterRulesChangeDataResponse.md | 15 + .../docs/RouteFilterRulesChangeOperation.md | 40 + .../docs/RouteFilterRulesData.md | 40 + .../docs/RouteFilterRulesPostRequest.md | 14 + .../docs/RouteFilterState.md | 23 + .../docs/RouteFiltersApi.md | 912 +++ .../docs/RouteFiltersBase.md | 26 + .../docs/RouteFiltersChange.md | 29 + .../docs/RouteFiltersChangeOperation.md | 26 + .../docs/RouteFiltersData.md | 42 + .../docs/RouteFiltersDataProject.md | 14 + .../docs/RouteFiltersDataProjectAllOf.md | 13 + .../docs/RouterPackageCode.md | 2 +- .../docs/RoutingProtocolsApi.md | 8 +- equinix-openapi-fabric/docs/ServiceMetro.md | 1 + equinix-openapi-fabric/docs/ServiceMetros.md | 15 + .../docs/ServiceProfilesApi.md | 76 + ...onnectionRequest.md => ValidateRequest.md} | 4 +- .../docs/ValidateRequestFilter.md | 14 + ...lterAnd.md => ValidateRequestFilterAnd.md} | 2 +- .../docs/ValidateSubnetRequest.md | 14 - .../docs/ValidateSubnetRequestFilter.md | 14 - equinix-openapi-fabric/docs/VirtualNetwork.md | 15 + equinix-openapi-fabric/pom.xml | 4 +- .../com/equinix/openapi/fabric/ApiClient.java | 2 +- .../java/com/equinix/openapi/fabric/JSON.java | 36 +- .../openapi/fabric/v4/api/ConnectionsApi.java | 36 +- .../fabric/v4/api/PrecisionTimeApi.java | 430 +- .../fabric/v4/api/RouteFilterRulesApi.java | 1513 ++++ .../fabric/v4/api/RouteFiltersApi.java | 1927 +++++ .../fabric/v4/api/RoutingProtocolsApi.java | 36 +- .../fabric/v4/api/ServiceProfilesApi.java | 157 + .../openapi/fabric/v4/model/AccessPoint.java | 38 +- .../fabric/v4/model/AccessPointType.java | 4 +- .../v4/model/CloudRouterPackageType.java | 2 +- .../equinix/openapi/fabric/v4/model/Code.java | 2 +- .../v4/model/ConnectionRouteFilterData.java | 556 ++ .../v4/model/ConnectionRouteFiltersBase.java | 326 + .../v4/model/FabricCloudRouterCode.java | 2 +- ...GetAllConnectionRouteFiltersResponse.java} | 72 +- ...GetRouteFilterGetConnectionsResponse.java} | 72 +- .../v4/model/GetRouteFilterRulesResponse.java | 335 + .../openapi/fabric/v4/model/LinkProtocol.java | 65 +- .../fabric/v4/model/LinkProtocolType.java | 4 +- .../fabric/v4/model/LinkProtocolVxlan.java | 316 + .../fabric/v4/model/ModelInterface.java | 46 +- .../v4/model/RouteFilterChangeData.java | 671 ++ .../model/RouteFilterChangeDataResponse.java | 335 + .../model/RouteFilterChangePrefixMatch.java | 350 + .../v4/model/RouteFilterConnectionsData.java | 375 + .../fabric/v4/model/RouteFilterRulesBase.java | 375 + .../v4/model/RouteFilterRulesChange.java | 408 + .../v4/model/RouteFilterRulesChangeData.java | 640 ++ .../RouteFilterRulesChangeDataResponse.java | 335 + .../RouteFilterRulesChangeOperation.java | 520 ++ .../fabric/v4/model/RouteFilterRulesData.java | 667 ++ .../v4/model/RouteFilterRulesPostRequest.java | 301 + .../fabric/v4/model/RouteFilterState.java | 82 + .../fabric/v4/model/RouteFiltersBase.java | 478 ++ ...ctionLink.java => RouteFiltersChange.java} | 152 +- .../v4/model/RouteFiltersChangeOperation.java | 402 + .../fabric/v4/model/RouteFiltersData.java | 750 ++ .../v4/model/RouteFiltersDataProject.java | 320 + ...java => RouteFiltersDataProjectAllOf.java} | 87 +- .../fabric/v4/model/RouterPackageCode.java | 2 +- .../openapi/fabric/v4/model/ServiceMetro.java | 31 +- .../fabric/v4/model/ServiceMetros.java | 335 + ...ubnetRequest.java => ValidateRequest.java} | 64 +- ...Filter.java => ValidateRequestFilter.java} | 64 +- ...And.java => ValidateRequestFilterAnd.java} | 64 +- .../fabric/v4/model/VirtualNetwork.java | 312 + .../fabric/v4/api/ConnectionsApiTest.java | 6 +- .../fabric/v4/api/PrecisionTimeApiTest.java | 48 +- .../v4/api/RouteFilterRulesApiTest.java | 183 + .../fabric/v4/api/RouteFiltersApiTest.java | 220 + .../v4/api/RoutingProtocolsApiTest.java | 6 +- .../fabric/v4/api/ServiceProfilesApiTest.java | 17 + .../fabric/v4/model/AccessPointTest.java | 9 + .../model/ConnectionRouteFilterDataTest.java | 81 + ...va => ConnectionRouteFiltersBaseTest.java} | 19 +- ...llConnectionRouteFiltersResponseTest.java} | 14 +- ...RouteFilterGetConnectionsResponseTest.java | 59 + ...a => GetRouteFilterRulesResponseTest.java} | 14 +- .../fabric/v4/model/LinkProtocolTest.java | 9 + .../v4/model/LinkProtocolVxlanTest.java | 56 + .../fabric/v4/model/ModelInterfaceTest.java | 8 + .../RouteFilterChangeDataResponseTest.java | 59 + .../v4/model/RouteFilterChangeDataTest.java | 66 + .../RouteFilterChangePrefixMatchTest.java | 63 + .../model/RouteFilterConnectionsDataTest.java | 74 + .../v4/model/RouteFilterRulesBaseTest.java | 71 + ...outeFilterRulesChangeDataResponseTest.java | 59 + .../model/RouteFilterRulesChangeDataTest.java | 66 + .../RouteFilterRulesChangeOperationTest.java | 79 + .../v4/model/RouteFilterRulesChangeTest.java | 64 + .../v4/model/RouteFilterRulesDataTest.java | 123 + .../RouteFilterRulesPostRequestTest.java | 50 + .../fabric/v4/model/RouteFilterStateTest.java | 32 + .../fabric/v4/model/RouteFiltersBaseTest.java | 83 + .../RouteFiltersChangeOperationTest.java | 64 + ...kTest.java => RouteFiltersChangeTest.java} | 25 +- .../RouteFiltersDataProjectAllOfTest.java | 48 + .../v4/model/RouteFiltersDataProjectTest.java | 56 + .../fabric/v4/model/RouteFiltersDataTest.java | 144 + .../fabric/v4/model/ServiceMetroTest.java | 8 + .../fabric/v4/model/ServiceMetrosTest.java | 59 + ...java => ValidateRequestFilterAndTest.java} | 12 +- ...st.java => ValidateRequestFilterTest.java} | 14 +- ...uestTest.java => ValidateRequestTest.java} | 14 +- .../fabric/v4/model/VirtualNetworkTest.java | 57 + 142 files changed, 23116 insertions(+), 3037 deletions(-) delete mode 100644 equinix-openapi-fabric/docs/ConnectionLink.md create mode 100644 equinix-openapi-fabric/docs/ConnectionRouteFilterData.md create mode 100644 equinix-openapi-fabric/docs/ConnectionRouteFiltersBase.md create mode 100644 equinix-openapi-fabric/docs/GetAllConnectionRouteFiltersResponse.md create mode 100644 equinix-openapi-fabric/docs/GetRouteFilterGetConnectionsResponse.md rename equinix-openapi-fabric/docs/{PrecisionTimeServicePackagesResponse.md => GetRouteFilterRulesResponse.md} (52%) create mode 100644 equinix-openapi-fabric/docs/LinkProtocolVxlan.md delete mode 100644 equinix-openapi-fabric/docs/PrecisionTimeServiceConnectionsResponse.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterChangeData.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterChangeDataResponse.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterChangePrefixMatch.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterConnectionsData.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesApi.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesBase.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesChange.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesChangeData.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesChangeDataResponse.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesChangeOperation.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesData.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterRulesPostRequest.md create mode 100644 equinix-openapi-fabric/docs/RouteFilterState.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersApi.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersBase.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersChange.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersChangeOperation.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersData.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersDataProject.md create mode 100644 equinix-openapi-fabric/docs/RouteFiltersDataProjectAllOf.md create mode 100644 equinix-openapi-fabric/docs/ServiceMetros.md rename equinix-openapi-fabric/docs/{ValidateConnectionRequest.md => ValidateRequest.md} (56%) create mode 100644 equinix-openapi-fabric/docs/ValidateRequestFilter.md rename equinix-openapi-fabric/docs/{ValidateSubnetRequestFilterAnd.md => ValidateRequestFilterAnd.md} (90%) delete mode 100644 equinix-openapi-fabric/docs/ValidateSubnetRequest.md delete mode 100644 equinix-openapi-fabric/docs/ValidateSubnetRequestFilter.md create mode 100644 equinix-openapi-fabric/docs/VirtualNetwork.md create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApi.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApi.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterData.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBase.java rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{PrecisionTimeServicePackagesResponse.java => GetAllConnectionRouteFiltersResponse.java} (79%) rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{PrecisionTimeServiceConnectionsResponse.java => GetRouteFilterGetConnectionsResponse.java} (76%) create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponse.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlan.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeData.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponse.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatch.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsData.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBase.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChange.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeData.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponse.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperation.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesData.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequest.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterState.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBase.java rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{ConnectionLink.java => RouteFiltersChange.java} (76%) create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperation.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersData.java create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProject.java rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{ValidateConnectionRequest.java => RouteFiltersDataProjectAllOf.java} (73%) create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetros.java rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{ValidateSubnetRequest.java => ValidateRequest.java} (79%) rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{ValidateSubnetRequestFilter.java => ValidateRequestFilter.java} (78%) rename equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/{ValidateSubnetRequestFilterAnd.java => ValidateRequestFilterAnd.java} (81%) create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/VirtualNetwork.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApiTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApiTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterDataTest.java rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{ValidateConnectionRequestTest.java => ConnectionRouteFiltersBaseTest.java} (70%) rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{PrecisionTimeServiceConnectionsResponseTest.java => GetAllConnectionRouteFiltersResponseTest.java} (75%) create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponseTest.java rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{PrecisionTimeServicePackagesResponseTest.java => GetRouteFilterRulesResponseTest.java} (76%) create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlanTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponseTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatchTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsDataTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBaseTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponseTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperationTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesDataTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequestTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterStateTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBaseTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperationTest.java rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{ConnectionLinkTest.java => RouteFiltersChangeTest.java} (84%) create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOfTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataTest.java create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetrosTest.java rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{ValidateSubnetRequestFilterAndTest.java => ValidateRequestFilterAndTest.java} (81%) rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{ValidateSubnetRequestFilterTest.java => ValidateRequestFilterTest.java} (76%) rename equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/{ValidateSubnetRequestTest.java => ValidateRequestTest.java} (77%) create mode 100644 equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/VirtualNetworkTest.java diff --git a/equinix-openapi-fabric/.openapi-generator/FILES b/equinix-openapi-fabric/.openapi-generator/FILES index d760a1e1..19b00560 100644 --- a/equinix-openapi-fabric/.openapi-generator/FILES +++ b/equinix-openapi-fabric/.openapi-generator/FILES @@ -61,12 +61,13 @@ docs/ConnectionChangeOperation.md docs/ConnectionCompanyProfile.md docs/ConnectionDirection.md docs/ConnectionInvitation.md -docs/ConnectionLink.md docs/ConnectionOperation.md docs/ConnectionPostRequest.md docs/ConnectionPriority.md docs/ConnectionRedundancy.md docs/ConnectionResponse.md +docs/ConnectionRouteFilterData.md +docs/ConnectionRouteFiltersBase.md docs/ConnectionRoutingProtocolPostRequest.md docs/ConnectionSearchResponse.md docs/ConnectionSide.md @@ -91,7 +92,10 @@ docs/FabricConnectionUuid.md docs/FilterBody.md docs/GeoCoordinates.md docs/GeoScopeType.md +docs/GetAllConnectionRouteFiltersResponse.md docs/GetResponse.md +docs/GetRouteFilterGetConnectionsResponse.md +docs/GetRouteFilterRulesResponse.md docs/HealthApi.md docs/HealthResponse.md docs/IpBlockPrice.md @@ -113,6 +117,7 @@ docs/LinkProtocolServiceToken.md docs/LinkProtocolState.md docs/LinkProtocolType.md docs/LinkProtocolUntagged.md +docs/LinkProtocolVxlan.md docs/MarketingInfo.md docs/Md5.md docs/MetricInterval.md @@ -187,9 +192,7 @@ docs/PortV4SearchRequest.md docs/PortsApi.md docs/PrecisionTimeApi.md docs/PrecisionTimeChangeOperation.md -docs/PrecisionTimeServiceConnectionsResponse.md docs/PrecisionTimeServiceCreateResponse.md -docs/PrecisionTimeServicePackagesResponse.md docs/PrecisionTimeServiceRequest.md docs/Presence.md docs/Price.md @@ -208,6 +211,26 @@ docs/PtpAdvanceConfiguration.md docs/QueryDirection.md docs/RemoveOperation.md docs/ReplaceOperation.md +docs/RouteFilterChangeData.md +docs/RouteFilterChangeDataResponse.md +docs/RouteFilterChangePrefixMatch.md +docs/RouteFilterConnectionsData.md +docs/RouteFilterRulesApi.md +docs/RouteFilterRulesBase.md +docs/RouteFilterRulesChange.md +docs/RouteFilterRulesChangeData.md +docs/RouteFilterRulesChangeDataResponse.md +docs/RouteFilterRulesChangeOperation.md +docs/RouteFilterRulesData.md +docs/RouteFilterRulesPostRequest.md +docs/RouteFilterState.md +docs/RouteFiltersApi.md +docs/RouteFiltersBase.md +docs/RouteFiltersChange.md +docs/RouteFiltersChangeOperation.md +docs/RouteFiltersData.md +docs/RouteFiltersDataProject.md +docs/RouteFiltersDataProjectAllOf.md docs/RouteTableEntry.md docs/RouteTableEntryConnection.md docs/RouteTableEntryFilter.md @@ -241,6 +264,7 @@ docs/SearchFieldName.md docs/SearchRequest.md docs/SearchResponse.md docs/ServiceMetro.md +docs/ServiceMetros.md docs/ServiceProfile.md docs/ServiceProfileAccessPointCOLO.md docs/ServiceProfileAccessPointType.md @@ -295,10 +319,9 @@ docs/Statistics.md docs/StatisticsApi.md docs/SubInterface.md docs/TopUtilizedStatistics.md -docs/ValidateConnectionRequest.md -docs/ValidateSubnetRequest.md -docs/ValidateSubnetRequestFilter.md -docs/ValidateSubnetRequestFilterAnd.md +docs/ValidateRequest.md +docs/ValidateRequestFilter.md +docs/ValidateRequestFilterAnd.md docs/ValidateSubnetResponse.md docs/ViewPoint.md docs/VirtualConnectionBridgePackageCode.md @@ -315,6 +338,7 @@ docs/VirtualConnectionPriceZSideAccessPointBridge.md docs/VirtualConnectionPriceZSideAccessPointBridgePackage.md docs/VirtualConnectionPriceZSideAccessPointProfile.md docs/VirtualDevice.md +docs/VirtualNetwork.md docs/VirtualPortConfiguration.md docs/VirtualPortLocation.md docs/VirtualPortPrice.md @@ -355,6 +379,8 @@ src/main/java/com/equinix/openapi/fabric/v4/api/NetworksApi.java src/main/java/com/equinix/openapi/fabric/v4/api/PortsApi.java src/main/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApi.java src/main/java/com/equinix/openapi/fabric/v4/api/PricesApi.java +src/main/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApi.java +src/main/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApi.java src/main/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApi.java src/main/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApi.java src/main/java/com/equinix/openapi/fabric/v4/api/ServiceTokensApi.java @@ -414,12 +440,13 @@ src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionChangeOperation.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionCompanyProfile.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionDirection.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionInvitation.java -src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionLink.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionOperation.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionPostRequest.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionPriority.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRedundancy.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionResponse.java +src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterData.java +src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBase.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRoutingProtocolPostRequest.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionSearchResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionSide.java @@ -443,7 +470,10 @@ src/main/java/com/equinix/openapi/fabric/v4/model/FabricConnectionUuid.java src/main/java/com/equinix/openapi/fabric/v4/model/FilterBody.java src/main/java/com/equinix/openapi/fabric/v4/model/GeoCoordinates.java src/main/java/com/equinix/openapi/fabric/v4/model/GeoScopeType.java +src/main/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/GetResponse.java +src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponse.java +src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/HealthResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/IpBlockPrice.java src/main/java/com/equinix/openapi/fabric/v4/model/IpBlockType.java @@ -464,6 +494,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolServiceToken.java src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolState.java src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolType.java src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolUntagged.java +src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlan.java src/main/java/com/equinix/openapi/fabric/v4/model/MarketingInfo.java src/main/java/com/equinix/openapi/fabric/v4/model/Md5.java src/main/java/com/equinix/openapi/fabric/v4/model/MetricInterval.java @@ -534,9 +565,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/PortTether.java src/main/java/com/equinix/openapi/fabric/v4/model/PortType.java src/main/java/com/equinix/openapi/fabric/v4/model/PortV4SearchRequest.java src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeChangeOperation.java -src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceCreateResponse.java -src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceRequest.java src/main/java/com/equinix/openapi/fabric/v4/model/Presence.java src/main/java/com/equinix/openapi/fabric/v4/model/Price.java @@ -554,6 +583,24 @@ src/main/java/com/equinix/openapi/fabric/v4/model/PtpAdvanceConfiguration.java src/main/java/com/equinix/openapi/fabric/v4/model/QueryDirection.java src/main/java/com/equinix/openapi/fabric/v4/model/RemoveOperation.java src/main/java/com/equinix/openapi/fabric/v4/model/ReplaceOperation.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeData.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponse.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatch.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsData.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBase.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChange.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeData.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponse.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperation.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesData.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequest.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterState.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBase.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChange.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperation.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersData.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProject.java +src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOf.java src/main/java/com/equinix/openapi/fabric/v4/model/RouteTableEntry.java src/main/java/com/equinix/openapi/fabric/v4/model/RouteTableEntryConnection.java src/main/java/com/equinix/openapi/fabric/v4/model/RouteTableEntryFilter.java @@ -586,6 +633,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/SearchFieldName.java src/main/java/com/equinix/openapi/fabric/v4/model/SearchRequest.java src/main/java/com/equinix/openapi/fabric/v4/model/SearchResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetro.java +src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetros.java src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfile.java src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfileAccessPointCOLO.java src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfileAccessPointType.java @@ -637,10 +685,9 @@ src/main/java/com/equinix/openapi/fabric/v4/model/SortDirection.java src/main/java/com/equinix/openapi/fabric/v4/model/Statistics.java src/main/java/com/equinix/openapi/fabric/v4/model/SubInterface.java src/main/java/com/equinix/openapi/fabric/v4/model/TopUtilizedStatistics.java -src/main/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequest.java -src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequest.java -src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilter.java -src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAnd.java +src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequest.java +src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilter.java +src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAnd.java src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetResponse.java src/main/java/com/equinix/openapi/fabric/v4/model/ViewPoint.java src/main/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionBridgePackageCode.java @@ -657,6 +704,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionPriceZSideAcc src/main/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionPriceZSideAccessPointBridgePackage.java src/main/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionPriceZSideAccessPointProfile.java src/main/java/com/equinix/openapi/fabric/v4/model/VirtualDevice.java +src/main/java/com/equinix/openapi/fabric/v4/model/VirtualNetwork.java src/main/java/com/equinix/openapi/fabric/v4/model/VirtualPortConfiguration.java src/main/java/com/equinix/openapi/fabric/v4/model/VirtualPortLocation.java src/main/java/com/equinix/openapi/fabric/v4/model/VirtualPortPrice.java @@ -671,6 +719,8 @@ src/test/java/com/equinix/openapi/fabric/v4/api/NetworksApiTest.java src/test/java/com/equinix/openapi/fabric/v4/api/PortsApiTest.java src/test/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApiTest.java src/test/java/com/equinix/openapi/fabric/v4/api/PricesApiTest.java +src/test/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApiTest.java +src/test/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApiTest.java src/test/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApiTest.java src/test/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApiTest.java src/test/java/com/equinix/openapi/fabric/v4/api/ServiceTokensApiTest.java @@ -728,12 +778,13 @@ src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionChangeOperationTest. src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionCompanyProfileTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionDirectionTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionInvitationTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionLinkTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionOperationTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionPostRequestTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionPriorityTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRedundancyTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionResponseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterDataTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBaseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRoutingProtocolPostRequestTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionSearchResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionSideAdditionalInfoTest.java @@ -758,7 +809,10 @@ src/test/java/com/equinix/openapi/fabric/v4/model/FabricConnectionUuidTest.java src/test/java/com/equinix/openapi/fabric/v4/model/FilterBodyTest.java src/test/java/com/equinix/openapi/fabric/v4/model/GeoCoordinatesTest.java src/test/java/com/equinix/openapi/fabric/v4/model/GeoScopeTypeTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/GetResponseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/HealthResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/IpBlockPriceTest.java src/test/java/com/equinix/openapi/fabric/v4/model/IpBlockTypeTest.java @@ -778,6 +832,7 @@ src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolStateTest.java src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolTest.java src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolTypeTest.java src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolUntaggedTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlanTest.java src/test/java/com/equinix/openapi/fabric/v4/model/LinkTest.java src/test/java/com/equinix/openapi/fabric/v4/model/MarketingInfoTest.java src/test/java/com/equinix/openapi/fabric/v4/model/Md5Test.java @@ -849,9 +904,7 @@ src/test/java/com/equinix/openapi/fabric/v4/model/PortTetherTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PortTypeTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PortV4SearchRequestTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeChangeOperationTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceCreateResponseTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceRequestTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PresenceTest.java src/test/java/com/equinix/openapi/fabric/v4/model/PriceCategoryTest.java @@ -869,6 +922,24 @@ src/test/java/com/equinix/openapi/fabric/v4/model/PtpAdvanceConfigurationTest.ja src/test/java/com/equinix/openapi/fabric/v4/model/QueryDirectionTest.java src/test/java/com/equinix/openapi/fabric/v4/model/RemoveOperationTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ReplaceOperationTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatchTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsDataTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBaseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperationTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesDataTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequestTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterStateTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBaseTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperationTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOfTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataTest.java src/test/java/com/equinix/openapi/fabric/v4/model/RouteTableEntryConnectionTest.java src/test/java/com/equinix/openapi/fabric/v4/model/RouteTableEntryFilterTest.java src/test/java/com/equinix/openapi/fabric/v4/model/RouteTableEntryFiltersTest.java @@ -901,6 +972,7 @@ src/test/java/com/equinix/openapi/fabric/v4/model/SearchFieldNameTest.java src/test/java/com/equinix/openapi/fabric/v4/model/SearchRequestTest.java src/test/java/com/equinix/openapi/fabric/v4/model/SearchResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetroTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetrosTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfileAccessPointCOLOTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfileAccessPointTypeCOLOTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfileAccessPointTypeEnumTest.java @@ -952,10 +1024,9 @@ src/test/java/com/equinix/openapi/fabric/v4/model/SortTest.java src/test/java/com/equinix/openapi/fabric/v4/model/StatisticsTest.java src/test/java/com/equinix/openapi/fabric/v4/model/SubInterfaceTest.java src/test/java/com/equinix/openapi/fabric/v4/model/TopUtilizedStatisticsTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequestTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAndTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterTest.java -src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAndTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetResponseTest.java src/test/java/com/equinix/openapi/fabric/v4/model/ViewPointTest.java src/test/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionBridgePackageCodeTest.java @@ -972,6 +1043,7 @@ src/test/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionPriceZSideAcc src/test/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionPriceZSideAccessPointTest.java src/test/java/com/equinix/openapi/fabric/v4/model/VirtualConnectionPriceZSideTest.java src/test/java/com/equinix/openapi/fabric/v4/model/VirtualDeviceTest.java +src/test/java/com/equinix/openapi/fabric/v4/model/VirtualNetworkTest.java src/test/java/com/equinix/openapi/fabric/v4/model/VirtualPortConfigurationTest.java src/test/java/com/equinix/openapi/fabric/v4/model/VirtualPortLocationTest.java src/test/java/com/equinix/openapi/fabric/v4/model/VirtualPortPriceTest.java diff --git a/equinix-openapi-fabric/README.md b/equinix-openapi-fabric/README.md index 6127939c..85b98771 100644 --- a/equinix-openapi-fabric/README.md +++ b/equinix-openapi-fabric/README.md @@ -1,7 +1,7 @@ # equinix-openapi-fabric Equinix Fabric API v4 -- API version: 4.10 +- API version: 4.11 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.
@@ -40,7 +40,7 @@ Add this dependency to your project's POM: com.equinix equinix-openapi-fabric - 0.4.0 + 0.5.0 compile ``` @@ -56,7 +56,7 @@ Add this dependency to your project's build file: } dependencies { - implementation "com.equinix:equinix-openapi-fabric:0.4.0" + implementation "com.equinix:equinix-openapi-fabric:0.5.0" } ``` @@ -70,7 +70,7 @@ mvn clean package Then manually install the following JARs: -* `target/equinix-openapi-fabric-0.4.0.jar` +* `target/equinix-openapi-fabric-0.5.0.jar` * `target/lib/*.jar` ## Getting Started @@ -155,13 +155,31 @@ Class | Method | HTTP request | Description *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* | [**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* | [**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 @@ -178,6 +196,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 @@ -250,12 +269,13 @@ 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) - [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) @@ -279,7 +299,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) @@ -300,6 +323,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) @@ -370,9 +394,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) @@ -390,6 +412,24 @@ 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) + - [RouteFiltersDataProject](docs/RouteFiltersDataProject.md) + - [RouteFiltersDataProjectAllOf](docs/RouteFiltersDataProjectAllOf.md) - [RouteTableEntry](docs/RouteTableEntry.md) - [RouteTableEntryConnection](docs/RouteTableEntryConnection.md) - [RouteTableEntryFilter](docs/RouteTableEntryFilter.md) @@ -422,6 +462,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) @@ -473,10 +514,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) @@ -493,6 +533,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/equinix-openapi-fabric/api/openapi.yaml b/equinix-openapi-fabric/api/openapi.yaml index 8665af98..daef808f 100644 --- a/equinix-openapi-fabric/api/openapi.yaml +++ b/equinix-openapi-fabric/api/openapi.yaml @@ -16,7 +16,7 @@ info: url: https://developer.equinix.com/agreement termsOfService: https://www.equinix.com/about/legal/terms title: Equinix Fabric API v4 - version: "4.10" + version: "4.11" externalDocs: description: Find more information on Equinix Developer Portal url: https://developer.equinix.com @@ -92,9 +92,6 @@ paths: Colo2Sp-Aws-Primary: $ref: '#/components/examples/COLO2AWSSPwithDot1q-Primary' value: null - Colo2Sp-Aws-Secondary: - $ref: '#/components/examples/COLO2AWSSPwithDot1q-Secondary' - value: null Colo2Sp-AzureDot1Q: $ref: '#/components/examples/COLO2AzureSPwithDot1q-Primary' value: null @@ -188,6 +185,9 @@ paths: AsideServiceToken2ZsideServiceToken: $ref: '#/components/examples/AsideServiceToken2ZsideServiceToken' value: null + Metal2Sp-Aws: + $ref: '#/components/examples/Metal2Sp-Aws' + value: null schema: $ref: '#/components/schemas/ConnectionPostRequest' required: true @@ -229,6 +229,9 @@ paths: ServiceToken2PortResponseQinQ: $ref: '#/components/examples/AsideServiceToken2PortResponseWithQinq' value: null + Metal2Sp-Aws: + $ref: '#/components/examples/Metal2Sp-Aws-Response' + value: null schema: $ref: '#/components/schemas/Connection' description: Accept Connection Request @@ -3087,6 +3090,92 @@ paths: - Service Profiles x-content-type: application/json x-accepts: application/json + /fabric/v4/serviceProfiles/{serviceProfileId}/metros: + get: + description: Get service profile metros by UUID. + operationId: getServiceProfileMetrosByUuid + parameters: + - description: Service Profile UUID + explode: false + in: path + name: serviceProfileId + required: true + schema: + $ref: '#/components/schemas/ServiceProfileId' + style: simple + - description: offset + example: 1 + explode: true + in: query + name: offset + required: false + schema: + type: integer + style: form + - description: number of records to fetch + example: 10 + explode: true + in: query + name: limit + required: false + schema: + type: integer + style: form + responses: + "200": + content: + application/json; charset=UTF-8: + examples: + ServiceProfileMetros: + $ref: '#/components/examples/ServiceProfilesResponse' + value: null + schema: + $ref: '#/components/schemas/ServiceMetros' + description: Successful operation + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/sp-400' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/sp-401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/sp-403-read' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/sp-500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal Server Error + summary: Get Profile Metros + tags: + - Service Profiles + x-accepts: application/json /fabric/v4/serviceTokens/{serviceTokenId}: delete: description: Delete Service Tokens removes an Equinix Fabric service token corresponding @@ -4062,41 +4151,37 @@ paths: - Ports x-content-type: application/json x-accepts: application/json - /fabric/v4/routers: - post: - description: This API provides capability to create user's Cloud Routers - operationId: createCloudRouter - parameters: [] - requestBody: - content: - application/json: - examples: - CreateLabPackage: - $ref: '#/components/examples/CreateLabPackage' - value: null - CreateProPackage: - $ref: '#/components/examples/CreateProPackage' - value: null - schema: - $ref: '#/components/schemas/CloudRouterPostRequest' + /fabric/v4/connections/{connectionId}/routeFilters: + get: + description: This API provides capability to view all Route Filters attached + to a Connection + operationId: getConnectionRouteFilters + parameters: + - description: Connection Id + explode: false + in: path + name: connectionId required: true + schema: + $ref: '#/components/schemas/ConnectionId' + style: simple responses: "200": content: application/json: examples: - cloudRouterResponse: - $ref: '#/components/examples/CloudRouterPostResponseExample' + connectionRouteFiltersResponse: + $ref: '#/components/examples/ConnectionRouteFiltersGetAll' value: null schema: - $ref: '#/components/schemas/CloudRouter' - description: Fabric Cloud Router object + $ref: '#/components/schemas/GetAllConnectionRouteFiltersResponse' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_package' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4121,6 +4206,16 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404_invalid_id' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter ID Not Found "415": content: application/json: @@ -4136,38 +4231,56 @@ paths: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Create Routers + summary: Get All RouteFilters tags: - - Cloud Routers - x-content-type: application/json + - Route Filters x-accepts: application/json - /fabric/v4/routers/{routerId}: + /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}: delete: - description: This API provides capability to delete user's Cloud Routers - operationId: deleteCloudRouterByUuid + description: This API provides capability to detach a Route Filter from a Connection + operationId: detachConnectionRouteFilter parameters: - - description: Cloud Router UUID + - description: Route Filters Id explode: false in: path - name: routerId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/RouterId' + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: Connection Id + explode: false + in: path + name: connectionId + required: true + schema: + $ref: '#/components/schemas/ConnectionId' style: simple responses: - "204": - description: Deleted Cloud Router Successfully + "202": + content: + application/json: + examples: + connectionRouteFilterDetachInboundResponse: + $ref: '#/components/examples/DetachConnectionRouteFilterInboundResponse' + value: null + connectionRouteFilterDetachOutboundResponse: + $ref: '#/components/examples/DetachConnectionRouteFilterOutboundResponse' + value: null + schema: + $ref: '#/components/schemas/ConnectionRouteFilterData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_state' + $ref: '#/components/examples/400_transient_state' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4197,137 +4310,73 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Not Found - "500": - content: - application/json: - examples: - example: - $ref: '#/components/examples/500' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Internal server error - summary: Delete Routers - tags: - - Cloud Routers - x-accepts: application/json - get: - description: This API provides capability to retrieve user's Cloud Routers - operationId: getCloudRouterByUuid - parameters: - - description: Cloud Router UUID - explode: false - in: path - name: routerId - required: true - schema: - $ref: '#/components/schemas/RouterId' - style: simple - responses: - "200": - content: - application/json: - examples: - cloudRouterResponse: - $ref: '#/components/examples/CloudRouterResponseExample' - value: null - schema: - $ref: '#/components/schemas/CloudRouter' - description: Fabric Cloud Router object - "401": - content: - application/json: - examples: - example: - $ref: '#/components/examples/401' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Unauthorized - "403": - content: - application/json: - examples: - example: - $ref: '#/components/examples/403' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Forbidden - "404": + description: Route Filter ID Not Found + "415": content: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/415' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found + description: Unsupported Media Type "500": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Get Routers + summary: Detach Route Filter tags: - - Cloud Routers + - Route Filters x-accepts: application/json - patch: - description: This API provides capability to update user's Cloud Routers - operationId: updateCloudRouterByUuid + get: + description: This API provides capability to view a specific Route Filter attached + to a Connection + operationId: getConnectionRouteFilterByUuid parameters: - - description: Cloud Router UUID + - description: Route Filters Id explode: false in: path - name: routerId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/RouterId' + $ref: '#/components/schemas/RouteFilterId' style: simple - requestBody: - content: - application/json-patch+json: - examples: - UpdatePackage: - $ref: '#/components/examples/UpdatePackage' - value: null - UpdateName: - $ref: '#/components/examples/UpdateName' - value: null - UpdateNotificationEmail: - $ref: '#/components/examples/UpdateNotifications' - value: null - schema: - $ref: '#/components/schemas/CloudRouterUpdateRequest' + - description: Connection Id + explode: false + in: path + name: connectionId required: true + schema: + $ref: '#/components/schemas/ConnectionId' + style: simple responses: "200": content: application/json: examples: - cloudRouterResponse: - $ref: '#/components/examples/CloudRouterPatchResponseExample' + connectionRouteFilterAttachResponse: + $ref: '#/components/examples/AttachConnectionRouteFiltersResponse' value: null schema: - $ref: '#/components/schemas/CloudRouter' - description: Fabric Cloud Router object + $ref: '#/components/schemas/ConnectionRouteFilterData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_operation' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4357,11 +4406,11 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found + description: Route Filter ID Not Found "415": content: application/json: @@ -4377,54 +4426,68 @@ paths: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Update Routers + summary: Get Route Filter tags: - - Cloud Routers - x-content-type: application/json-patch+json + - Route Filters x-accepts: application/json - /fabric/v4/routers/{routerId}/actions: - get: - description: This API provides capability to fetch action status - operationId: getCloudRouterActions + put: + description: This API provides capability to attach a Route Filter to a Connection + operationId: attachConnectionRouteFilter parameters: - - description: Router UUID + - description: Route Filters Id explode: false in: path - name: routerId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/RouterId_1' + $ref: '#/components/schemas/RouteFilterId' style: simple - - description: Action state - explode: true - in: query - name: state - required: false + - description: Connection Id + explode: false + in: path + name: connectionId + required: true schema: - $ref: '#/components/schemas/ActionState' - style: form + $ref: '#/components/schemas/ConnectionId' + style: simple + requestBody: + content: + application/json: + examples: + ConnectionRouteFilterAttachInboundExample: + $ref: '#/components/examples/AttachConnectionRouteFilterInbound' + value: null + ConnectionRouteFilterAttachOutboundExample: + $ref: '#/components/examples/AttachConnectionRouteFilterOutbound' + value: null + schema: + $ref: '#/components/schemas/ConnectionRouteFiltersBase' + required: true responses: - "200": + "202": content: application/json: examples: - routerActionExample: - $ref: '#/components/examples/CloudRouterActionResponse' + connectionRouteFilterAttachResponse: + $ref: '#/components/examples/AttachConnectionRouteFiltersResponse' value: null schema: - $ref: '#/components/schemas/CloudRouterActionResponse' + $ref: '#/components/schemas/ConnectionRouteFilterData' description: Successful operation "400": content: application/json: examples: - example: - $ref: '#/components/examples/400_invalid_operation' + InvalidDirection: + $ref: '#/components/examples/400_invalid_direction' + value: null + TransientState: + $ref: '#/components/examples/400_transient_state' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4454,11 +4517,11 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found + description: Route Filter ID Not Found "415": content: application/json: @@ -4468,61 +4531,54 @@ paths: value: null schema: $ref: '#/components/schemas/ErrorList' - description: Internal server error + description: Unsupported Media Type "500": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Get actions + summary: Attach Route Filter tags: - - Cloud Routers + - Route Filters + x-content-type: application/json x-accepts: application/json + /fabric/v4/routeFilters: post: - description: This API provides capability to refresh route table and bgp session - summary information - operationId: createCloudRouterAction - parameters: - - description: Router UUID - explode: false - in: path - name: routerId - required: true - schema: - $ref: '#/components/schemas/RouterId_1' - style: simple + description: This API provides capability to create a Route Filter + operationId: createRouteFilter + parameters: [] requestBody: content: application/json: examples: - RouteEntriesStatusUpdate: - $ref: '#/components/examples/RouteEntriesStatusUpdate' + RouteFilterBgpIpv4Prefix: + $ref: '#/components/examples/RouteFilterCreateBgpIpv4Prefix' value: null schema: - $ref: '#/components/schemas/CloudRouterActionRequest' + $ref: '#/components/schemas/RouteFiltersBase' required: true responses: "202": content: application/json: examples: - cloudRouterActionExample: - $ref: '#/components/examples/CloudRouterActionResponse' + getSpecificRouteFilterResponse: + $ref: '#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse' value: null schema: - $ref: '#/components/schemas/CloudRouterActionResponse' + $ref: '#/components/schemas/RouteFiltersData' description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_operation' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4552,11 +4608,11 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found + description: Route Filter ID Not Found "415": content: application/json: @@ -4566,72 +4622,52 @@ paths: value: null schema: $ref: '#/components/schemas/ErrorList' - description: Internal server error + description: Unsupported Media Type "500": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Route table actions + summary: Create Route Filters tags: - - Cloud Routers + - Route Filters x-content-type: application/json x-accepts: application/json - /fabric/v4/routers/{routerId}/routes/search: - post: - 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 + /fabric/v4/routeFilters/{routeFilterId}: + delete: + description: This API provides capability to delete a Route Filter + operationId: deleteRouteFilterByUuid parameters: - - description: Router UUID + - description: Route Filters Id explode: false in: path - name: routerId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/RouterId_1' + $ref: '#/components/schemas/RouteFilterId' style: simple - requestBody: - content: - application/json: - examples: - SearchFilterByNextHop: - $ref: '#/components/examples/SearchFilterByNextHop' - value: null - SearchFilterByPrefix: - $ref: '#/components/examples/SearchFilterByPrefix' - value: null - SearchFilterByType: - $ref: '#/components/examples/SearchFilterByType' - value: null - SearchFilterByStatus: - $ref: '#/components/examples/SearchFilterByStatus' - value: null - SearchFilterOrAnd: - $ref: '#/components/examples/SearchFilterOrAnd' - value: null - schema: - $ref: '#/components/schemas/RouteTableEntrySearchRequest' - required: true responses: - "200": + "202": content: application/json: + examples: + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: '#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse' + value: null schema: - $ref: '#/components/schemas/RouteTableEntrySearchResponse' + $ref: '#/components/schemas/RouteFiltersData' description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_sorting' + $ref: '#/components/examples/400_attached_connection' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4661,11 +4697,11 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found + description: Route Filter ID Not Found "415": content: application/json: @@ -4675,117 +4711,50 @@ paths: value: null schema: $ref: '#/components/schemas/ErrorList' - description: Internal server error + description: Unsupported Media Type "500": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Search Route Table + summary: Delete Route Filter tags: - - Cloud Routers - x-content-type: application/json + - Route Filters x-accepts: application/json - /fabric/v4/routers/{routerId}/validate: - post: - description: This API provides capability to validate all subnets associated - with any connection in the given FCR - operationId: validateRoutingProtocol + get: + description: This API provides capability to view a Route Filter by UUID + operationId: getRouteFilterByUuid parameters: - - description: Cloud Router UUID + - description: Route Filters Id explode: false in: path - name: routerId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/RouterId' + $ref: '#/components/schemas/RouteFilterId' style: simple - requestBody: - content: - application/json: - examples: - ValidateDirectIpv4: - $ref: '#/components/examples/Request-direct-ipv4' - value: null - ValidateDirectIpv6: - $ref: '#/components/examples/Request-direct-ipv6' - value: null - schema: - $ref: '#/components/schemas/ValidateSubnetRequest' - required: true - responses: - "200": - content: - application/json: - examples: - ValidateSubnet: - $ref: '#/components/examples/Response-200' - value: null - schema: - $ref: '#/components/schemas/ValidateSubnetResponse' - description: Successful operation - "400": - content: - application/json: - examples: - Bad Request: - $ref: '#/components/examples/error-400' - value: null - Subnet Overlapping: - $ref: '#/components/examples/error-400-overlappingSubnet' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Bad request - summary: Validate Subnet - tags: - - Routing Protocols - x-content-type: application/json - x-accepts: application/json - /fabric/v4/routers/search: - post: - 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: - examples: - SearchFilterByStatus: - $ref: '#/components/examples/SearchFilterByStatus' - value: null - SearchFilterByNameAndMetroName: - $ref: '#/components/examples/SearchFilterByNameAndMetroName' - value: null - SearchFilterOrAnd: - $ref: '#/components/examples/SearchFilterOrAnd' - value: null - schema: - $ref: '#/components/schemas/CloudRouterSearchRequest' - required: true responses: "200": content: application/json: examples: - Example: - $ref: '#/components/examples/search-example' + getSpecificRouteFilterResponse: + $ref: '#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse' value: null schema: - $ref: '#/components/schemas/SearchResponse' + $ref: '#/components/schemas/RouteFiltersData' description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_sorting' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4810,85 +4779,16 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden - "415": - content: - application/json: - examples: - example: - $ref: '#/components/examples/415' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type - "500": - content: - application/json: - examples: - example: - $ref: '#/components/examples/500' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Internal server error - summary: Search Routers - tags: - - Cloud Routers - x-content-type: application/json - x-accepts: application/json - /fabric/v4/routerPackages: - get: - description: This API provides capability to retrieve user's Cloud Routers Packages - operationId: getCloudRouterPackages - parameters: - - description: offset - example: 1 - explode: true - in: query - name: offset - required: false - schema: - type: integer - style: form - - description: number of records to fetch - example: 10 - explode: true - in: query - name: limit - required: false - schema: - type: integer - style: form - responses: - "200": - content: - application/json: - examples: - Example: - $ref: '#/components/examples/ListFCRPackagesResponse' - value: null - schema: - $ref: '#/components/schemas/PackageResponse' - description: Fabric Cloud Router Packages - "401": - content: - application/json: - examples: - example: - $ref: '#/components/examples/401' - value: null - schema: - $ref: '#/components/schemas/ErrorList' - description: Unauthorized - "403": + "404": content: application/json: examples: example: - $ref: '#/components/examples/403' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Forbidden + description: Route Filter ID Not Found "415": content: application/json: @@ -4904,42 +4804,54 @@ paths: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: List Packages + summary: Get Filter By UUID tags: - - Cloud Routers + - Route Filters x-accepts: application/json - /fabric/v4/routerPackages/{routerPackageCode}: - get: - description: This API provides capability to retrieve user's Cloud Routers Package - Details - operationId: getCloudRouterPackageByCode + patch: + description: This API provides capability to partially update a Route Filter + operationId: patchRouteFilterByUuid parameters: - - description: Equinix-assigned Cloud Router package identifier + - description: Route Filters Id explode: false in: path - name: routerPackageCode + name: routeFilterId required: true schema: - $ref: '#/components/schemas/RouterPackageCode' + $ref: '#/components/schemas/RouteFilterId' style: simple + requestBody: + content: + application/json: + examples: + RouteFilterNamePatchExample: + $ref: '#/components/examples/PatchRouteFilterName' + value: null + schema: + $ref: '#/components/schemas/RouteFiltersPatchRequest' + required: true responses: - "200": + "202": content: application/json: + examples: + RouteFilterNamePatchResponse: + $ref: '#/components/examples/RouteFilterNamePatchResponse' + value: null schema: - $ref: '#/components/schemas/CloudRouterPackage' - description: Fabric Cloud Router Package details + $ref: '#/components/schemas/RouteFiltersData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_package' + $ref: '#/components/examples/400_invalid_operation' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -4964,184 +4876,80 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden - "415": + "404": content: application/json: examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type - "500": + description: Route Filter ID Not Found + "415": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/415' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Internal server error - summary: Get Package Details - tags: - - Cloud Routers - x-accepts: application/json - /fabric/v4/health: - get: - 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": - content: - application/json: - examples: - metroExample: - $ref: '#/components/examples/healthResponse' - value: null - schema: - $ref: '#/components/schemas/HealthResponse' - description: Successful operation - summary: Get service status - tags: - - Health - x-accepts: application/json - /fabric/v4/connections/validate: - post: - description: This API provides capability to validate by auth key - operationId: validateConnections - parameters: [] - requestBody: - content: - application/json: - examples: - Alibaba-ValidateAuthKey: - $ref: '#/components/examples/Request_Alibaba' - value: null - Aws-ValidateAuthKey: - $ref: '#/components/examples/Request_AWS' - value: null - Azure-ValidateAuthKey: - $ref: '#/components/examples/Request_Azure' - value: null - Google-ValidateAuthKey: - $ref: '#/components/examples/Request_Google' - value: null - IBM-1.0-ValidateAuthKey: - $ref: '#/components/examples/Request_IBM_1' - value: null - IBM-2.0-ValidateAuthKey: - $ref: '#/components/examples/Request_IBM_2' - value: null - Oracle-ValidateAuthKey: - $ref: '#/components/examples/Request_Oracle' - value: null - Dot1q-ValidateVlanAvailability: - $ref: '#/components/examples/Dot1q_Vlan' - value: null - Qinq-ValidateVlanAvailability: - $ref: '#/components/examples/Qinq_Vlan' - value: null - schema: - $ref: '#/components/schemas/ValidateConnectionRequest' - required: true - responses: - "200": - content: - application/json: - examples: - Alibaba-ValidateAuthKey: - $ref: '#/components/examples/Response-Alibaba' - value: null - Aws-ValidateAuthKey: - $ref: '#/components/examples/Response-Aws' - value: null - Azure-ValidateAuthKey-no-existing-connections: - $ref: '#/components/examples/Response-Azure-no-existing-connections' - value: null - Azure-ValidateAuthKey-1-existing-Dot1q-connection: - $ref: '#/components/examples/Response-Azure-1-existing-Dot1q-connection' - value: null - Azure-ValidateAuthKey-1-existing-Qinq-connection: - $ref: '#/components/examples/Response-Azure-1-existing-Qinq-connection' - value: null - Azure-ValidateAuthKey-2-existing-Dot1q-connection: - $ref: '#/components/examples/Response-Azure-2-existing-Dot1q-connections' - value: null - Google-ValidateAuthKey: - $ref: '#/components/examples/Response-Google' - value: null - IBM-1.0-ValidateAuthKey: - $ref: '#/components/examples/Response-IBM-1' - value: null - IBM-2.0-ValidateAuthKey: - $ref: '#/components/examples/Response-IBM-2' - value: null - Oracle-ValidateAuthKey: - $ref: '#/components/examples/Response-Oracle' - value: null - Dot1q-ValidateAuthKey: - $ref: '#/components/examples/Response-Dot1q-Vlan' - value: null - Qinq-ValidateAuthKey: - $ref: '#/components/examples/Response-Qinq-Vlan' - value: null - schema: - $ref: '#/components/schemas/ConnectionResponse' - description: Successful operation - "400": + description: Unsupported Media Type + "500": content: application/json: examples: - Bad Request: - $ref: '#/components/examples/error-400' + example: + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Bad request - summary: Validate Connection + description: Internal server error + summary: Patch Route Filter tags: - - Connections + - Route Filters x-content-type: application/json x-accepts: application/json - /fabric/v4/networks: - post: - description: This API provides capability to create user's Fabric Network - operationId: createNetwork - parameters: [] + put: + description: This API provides capability to replace a Route Filter completely + operationId: replaceRouteFilterByUuid + parameters: + - description: Route Filters Id + explode: false + in: path + name: routeFilterId + required: true + schema: + $ref: '#/components/schemas/RouteFilterId' + style: simple requestBody: content: application/json: examples: - CreateGlobalNetwork: - $ref: '#/components/examples/CreateGlobalNetwork' - value: null - CreateRegionalNetwork: - $ref: '#/components/examples/CreateRegionalNetwork' + RouteFilterIpv4ReplaceExample: + $ref: '#/components/examples/UpdateRouteFilterIPv4' value: null schema: - $ref: '#/components/schemas/NetworkPostRequest' + $ref: '#/components/schemas/RouteFiltersBase' required: true responses: "202": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkPostResponseExample' + routeFilterIpv4ReplaceResponse: + $ref: '#/components/examples/RouteFilterIpv4ReplaceResponse' value: null schema: - $ref: '#/components/schemas/Network' - description: Fabric Network Access point object + $ref: '#/components/schemas/RouteFiltersData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5166,6 +4974,16 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404_invalid_id' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter ID Not Found "415": content: application/json: @@ -5181,46 +4999,65 @@ paths: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Create Network + summary: Replace Route Filter tags: - - Networks + - Route Filters x-content-type: application/json x-accepts: application/json - /fabric/v4/networks/{networkId}: - delete: - description: This API provides capability to delete user's Fabric Network - operationId: deleteNetworkByUuid + /fabric/v4/routeFilters/{routeFilterId}/changes: + get: + description: This API provides capability to retrieve all of a Route Filter's + Changes + operationId: getRouteFilterChanges parameters: - - description: Network UUID + - description: Route Filters Id explode: false in: path - name: networkId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' style: simple + - description: offset + example: 1 + explode: true + in: query + name: offset + required: false + schema: + type: integer + style: form + - description: number of records to fetch + example: 10 + explode: true + in: query + name: limit + required: false + schema: + type: integer + style: form responses: - "202": + "200": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkDeleteResponseExample' + RouteFilterChangesResponse: + $ref: '#/components/examples/RouteFilterGetAllChangesResponseExample' value: null schema: - $ref: '#/components/schemas/Network' - description: Fabric Network Access point object + $ref: '#/components/schemas/RouteFilterChangeDataResponse' + description: Fabric Route Filter Change object "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_state' + $ref: '#/components/examples/400_Invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5250,38 +5087,68 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found - summary: Delete Network By ID + description: Route Filter ID Not Found + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500_internal_error' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get All Changes tags: - - Networks + - Route Filters x-accepts: application/json + /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}: get: - description: This API provides capability to retrieve user's Fabric Network - operationId: getNetworkByUuid + description: This API provides capability to retrieve a specific Route Filter's + Changes + operationId: getRouteFilterChangeByUuid parameters: - - description: Network UUID + - description: Route Filters Id explode: false in: path - name: networkId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: Routing Protocol Change UUID + explode: false + in: path + name: changeId + required: true + schema: + $ref: '#/components/schemas/ChangeId_1' style: simple responses: "200": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkGetResponseExample' + RouteFilterChangeResponse: + $ref: '#/components/examples/RouteFilterGetChangeResponseExample' value: null schema: - $ref: '#/components/schemas/Network' - description: Fabric Network Access point object + $ref: '#/components/schemas/RouteFilterChangeData' + description: Fabric Route Filter Change object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_Invalid_id' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request "401": content: application/json: @@ -5307,57 +5174,56 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found - summary: Get Network By ID + description: Route Filter ID Not Found + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500_internal_error' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get Change By ID tags: - - Networks + - Route Filters x-accepts: application/json - patch: - description: This API provides capability to update user's Fabric Network - operationId: updateNetworkByUuid + /fabric/v4/routeFilters/{routeFilterId}/connections: + get: + description: This API provides capability to view all Connections using the + Route Filter + operationId: getRouteFilterConnections parameters: - - description: Network UUID + - description: Route Filters Id explode: false in: path - name: networkId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' style: simple - requestBody: - content: - application/json-patch+json: - examples: - UpdateName: - $ref: '#/components/examples/UpdateNetworkName' - value: null - UpdateNotificationEmail: - $ref: '#/components/examples/UpdateNetworkNotifications' - value: null - schema: - $ref: '#/components/schemas/NetworkUpdateRequest' - required: true responses: "200": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkPatchResponseExample' + routeFilterGetConnectionsResponse: + $ref: '#/components/examples/RouteFilterGetConnectionsResponse' value: null schema: - $ref: '#/components/schemas/Network' - description: Fabric Network Access point object + $ref: '#/components/schemas/GetRouteFilterGetConnectionsResponse' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_state' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5387,11 +5253,11 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found + description: Route Filter ID Not Found "415": content: application/json: @@ -5402,48 +5268,66 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Unsupported Media Type - summary: Update Network By ID + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500_internal_error' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get Connections tags: - - Networks - x-content-type: application/json-patch+json + - Route Filters x-accepts: application/json - /fabric/v4/networks/search: - post: - 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: - examples: - SearchFilterByStatus: - $ref: '#/components/examples/SearchFilterByStatus' - value: null - SearchFilterOrAnd: - $ref: '#/components/examples/SearchFilterOrAnd' - value: null - schema: - $ref: '#/components/schemas/NetworkSearchRequest' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules: + get: + description: This API provides capability to get all Route Filters Rules for + Fabric + operationId: getRouteFilterRules + parameters: + - description: Route Filters Id + explode: false + in: path + name: routeFilterId required: true + schema: + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: offset + example: 1 + explode: true + in: query + name: offset + required: false + schema: + type: integer + style: form + - description: number of records to fetch + example: 10 + explode: true + in: query + name: limit + required: false + schema: + type: integer + style: form responses: "200": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkSearchResponseExample' + getAllRouteFilters: + $ref: '#/components/examples/RouteFilterRulesGetAll' value: null schema: - $ref: '#/components/schemas/NetworkSearchResponse' - description: Fabric Network Access point object + $ref: '#/components/schemas/GetRouteFilterRulesResponse' + description: Successful operation "400": content: application/json: - examples: - example: - $ref: '#/components/examples/400_invalid_sorting' - value: null schema: $ref: '#/components/schemas/ErrorList' description: Bad request @@ -5467,52 +5351,65 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden - "415": + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter Rule ID Not Found + "500": content: application/json: examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type - summary: Search Network + description: Internal server error + summary: GetRFRules tags: - - Networks - x-content-type: application/json + - Route Filter Rules x-accepts: application/json - /fabric/v4/networks/{networkId}/connections: - get: - description: The API provides capability to get list of user's Fabric Network - connections - operationId: getConnectionsByNetworkUuid + post: + description: This API provides capability to create a Route Filter Rule + operationId: createRouteFilterRule parameters: - - description: Network UUID + - description: Route Filters Id explode: false in: path - name: networkId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' style: simple + requestBody: + content: + application/json: + examples: + RouteFilterRuleBgpIpv4Prefix: + $ref: '#/components/examples/RouteFilterRuleCreateBgpIpv4Prefix' + value: null + schema: + $ref: '#/components/schemas/RouteFilterRulesBase' + required: true responses: - "200": + "202": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/GetNetworkConnectionExample' + getSpecificRouteFilterRuleResponse: + $ref: '#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse' value: null schema: - $ref: '#/components/schemas/NetworkConnections' - description: Fabric Network Access point object + $ref: '#/components/schemas/RouteFilterRulesData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_uuid' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5537,6 +5434,12 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter Rule ID Not Found "415": content: application/json: @@ -5547,41 +5450,59 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Unsupported Media Type - summary: Get Connections + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500_internal_error' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Create RFRule tags: - - Networks + - Route Filter Rules + x-content-type: application/json x-accepts: application/json - /fabric/v4/networks/{networkId}/changes: - get: - description: The API provides capability to get list of user's Fabric Network - changes - operationId: getNetworkChanges + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}: + delete: + description: This API provides capability to delete a Route Filter Rule + operationId: deleteRouteFilterRuleByUuid parameters: - - description: Network UUID + - description: Route Filters Id explode: false in: path - name: networkId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: Route Filter Rules Id + explode: false + in: path + name: routeFilterRuleId + required: true + schema: + $ref: '#/components/schemas/RouteFilterRuleId' style: simple responses: - "200": + "202": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkChangeResponseExample' + routeFilterDeleteBgpIpv4PrefixResponse: + $ref: '#/components/examples/RouteFilterRuleDeleteBgpIpv4PrefixResponse' value: null schema: - $ref: '#/components/schemas/NetworkChangeResponse' - description: Fabric Network Access point object + $ref: '#/components/schemas/RouteFilterRulesData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_uuid' + $ref: '#/components/examples/400_transient_filter' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5606,6 +5527,16 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404_invalid_id' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter ID Not Found "415": content: application/json: @@ -5616,49 +5547,57 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Unsupported Media Type - summary: Get Network Changes + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500_internal_error' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: DeleteRFRule tags: - - Networks + - Route Filter Rules x-accepts: application/json - /fabric/v4/networks/{networkId}/changes/{changeId}: get: - description: This API provides capability to retrieve user's Fabric Network - Change - operationId: getNetworkChangeByUuid + description: This API provides capability to view a Route Filter Rule by UUID + operationId: getRouteFilterRuleByUuid parameters: - - description: Network UUID + - description: Route Filters Id explode: false in: path - name: networkId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/NetworkId' + $ref: '#/components/schemas/RouteFilterId' style: simple - - description: Network Change UUID + - description: Route Filter Rules Id explode: false in: path - name: changeId + name: routeFilterRuleId required: true schema: - $ref: '#/components/schemas/ChangeId_1' + $ref: '#/components/schemas/RouteFilterRuleId' style: simple responses: - "200": + "202": content: application/json: examples: - networkResponse: - $ref: '#/components/examples/NetworkGetChangeResponseExample' + getSpecificRouteFilterRuleResponse: + $ref: '#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse' value: null schema: - $ref: '#/components/schemas/NetworkChange' - description: Fabric Network Access point object + $ref: '#/components/schemas/RouteFilterRulesData' + description: Successful operation "400": content: application/json: examples: example: - $ref: '#/components/examples/400_invalid_uuid' + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5688,39 +5627,87 @@ paths: application/json: examples: example: - $ref: '#/components/examples/404' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Not Found - summary: Get Change By ID + description: Route Filter ID Not Found + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500_internal_error' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: GetRFRule By UUID tags: - - Networks + - Route Filter Rules x-accepts: application/json - /fabric/v4/timeServices/{serviceId}: - delete: - description: Delete EPT service by it's uuid - operationId: deleteTimeServiceById + patch: + description: This API provides capability to partially update a Route Filter + Rule + operationId: patchRouteFilterRuleByUuid parameters: - - description: Service UUID + - description: Route Filters Id explode: false in: path - name: serviceId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: Route Filter Rules Id + explode: false + in: path + name: routeFilterRuleId + required: true + schema: + $ref: '#/components/schemas/RouteFilterRuleId' style: simple + requestBody: + content: + application/json: + examples: + RouteFilterRuleNamePatchExample: + $ref: '#/components/examples/PatchRouteFilterRulePrefixMatch' + value: null + schema: + $ref: '#/components/schemas/RouteFilterRulesPatchRequest' + required: true responses: - "204": + "202": content: application/json: examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + RouteFilterNamePatchResponse: + $ref: '#/components/examples/RouteFilterNamePatchResponse' value: null schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + $ref: '#/components/schemas/RouteFiltersData' description: Successful operation + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_operation' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request "401": content: application/json: @@ -5741,6 +5728,16 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404_invalid_id' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter ID Not Found "415": content: application/json: @@ -5756,173 +5753,63 @@ paths: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Delete Time Service + summary: PatchRFilterRule tags: - - Precision Time + - Route Filter Rules + x-content-type: application/json x-accepts: application/json - get: - description: The API provides capability to get precision timing service's details - operationId: getTimeServicesById + put: + description: This API provides capability to replace a Route Filter Rule completely + operationId: replaceRouteFilterRuleByUuid parameters: - - description: Service UUID + - description: Route Filters Id explode: false in: path - name: serviceId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: Route Filter Rules Id + explode: false + in: path + name: routeFilterRuleId + required: true + schema: + $ref: '#/components/schemas/RouteFilterRuleId' style: simple + requestBody: + content: + application/json: + examples: + RouteFilterIpv4ReplaceExample: + $ref: '#/components/examples/UpdateRouteFilterRuleIPv4' + value: null + schema: + $ref: '#/components/schemas/RouteFilterRulesBase' + required: true responses: - "200": + "202": content: application/json: examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + routeFilterRuleIpv4ReplaceResponse: + $ref: '#/components/examples/RouteFilterRuleIpv4ReplaceResponse' value: null schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + $ref: '#/components/schemas/RouteFilterRulesData' description: Successful operation "400": content: application/json: examples: - MandatoryName: - $ref: '#/components/examples/400-Mandatory-Name' - value: null - InvalidName: - $ref: '#/components/examples/400-Invalid-Name' - value: null - ValidateName: - $ref: '#/components/examples/400-Validate-Name' - value: null - DuplicateName: - $ref: '#/components/examples/400-Duplicate-Name' - value: null - MandatoryConnectionUuid: - $ref: '#/components/examples/400-Mandatory-ConnectionUUid' - value: null - InvalidConnectionUuidFormat: - $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' - value: null - InvalidConnectionStatus: - $ref: '#/components/examples/400-Invalid-Connection-Status' - value: null - ValidateConnectionUuid: - $ref: '#/components/examples/400-Validate-ConnectionUuid' - value: null - InvalidConnectionLocation: - $ref: '#/components/examples/400-Invalid-Connection-Location' - value: null - MandatoryPackageType: - $ref: '#/components/examples/400-Mandatory-PackageType' - value: null - InvalidPackageType: - $ref: '#/components/examples/400-Invalid-PackageType' - value: null - InvalidConnectionPackageType: - $ref: '#/components/examples/400-Invalid-Connection-PackageType' - value: null - MandatoryPackage: - $ref: '#/components/examples/400-Mandatory-Package' - value: null - InvalidPackage: - $ref: '#/components/examples/400-Invalid-Package' - value: null - InvalidConnectionPackage: - $ref: '#/components/examples/400-Invalid-Connection-Package' - value: null - MandatoryPrimaryIP: - $ref: '#/components/examples/400-Mandatory-PrimaryIP' - value: null - InvalidPrimaryIPFormat: - $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' - value: null - ValidatePrimaryIP: - $ref: '#/components/examples/400-Validate-PrimaryIP' - value: null - MandatorySecondaryIP: - $ref: '#/components/examples/400-Mandatory-SecondaryIP' - value: null - InvalidSecondaryIPFormat: - $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' - value: null - ValidateSecondaryIP: - $ref: '#/components/examples/400-Validate-SecondaryIP' - value: null - ValidateSameSubnet: - $ref: '#/components/examples/400-Validate-SameSubnet' - value: null - MandatoryNetworkMask: - $ref: '#/components/examples/400-Mandatory-NetworkMask' - value: null - InvalidNetworkMaskFormat: - $ref: '#/components/examples/400-Invalid-NetworkMask-Format' - value: null - ValidateNetworkMask: - $ref: '#/components/examples/400-Validate-NetworkMask' - value: null - InvalidDefaultGatewayFormat: - $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' - value: null - ValidateDefaultGateway: - $ref: '#/components/examples/400-Validate-DefaultGateway' - value: null - InvalidTimeScale: - $ref: '#/components/examples/400-Invalid-TimeScale' - value: null - InvalidDomain: - $ref: '#/components/examples/400-Invalid-Domain' - value: null - InvalidPriority1: - $ref: '#/components/examples/400-Invalid-Priority1' - value: null - InvalidPriority2: - $ref: '#/components/examples/400-Invalid-Priority2' - value: null - InvalidLogAnnounceInterval: - $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' - value: null - ValidateLogAnnounceIntervalRange: - $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' - value: null - InvalidLogSyncInterval: - $ref: '#/components/examples/400-Invalid-LogSyncInterval' - value: null - ValidateLogSyncIntervalRange: - $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' - value: null - InvalidLogDelayReqInterval: - $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' - value: null - ValidateLogDelayReqIntervalRange: - $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' - value: null - InvalidTransportMode: - $ref: '#/components/examples/400-Invalid-TransportMode' - value: null - InvalidGrantTime: - $ref: '#/components/examples/400-Invalid-GrantTime' - value: null - ValidateGrantTimeRange: - $ref: '#/components/examples/400-Validate-GrantTime-Range' - value: null - InvalidType: - $ref: '#/components/examples/400-Invalid-Type' - value: null - InvalidId: - $ref: '#/components/examples/400-Invalid-Id' - value: null - InvalidPassword: - $ref: '#/components/examples/400-Invalid-Password' - value: null - ValidatePassword: - $ref: '#/components/examples/400-Validate-Password' + example: + $ref: '#/components/examples/400_route_filters' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -5947,6 +5834,16 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404_invalid_id' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Route Filter ID Not Found "415": content: application/json: @@ -5962,186 +5859,73 @@ paths: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Get Time Service + summary: ReplaceRFRule tags: - - Precision Time + - Route Filter Rules + x-content-type: application/json x-accepts: application/json - patch: - description: The API provides capability to update timing service - operationId: updateTimeServicesById + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes: + get: + description: This API provides capability to retrieve all of a Route Filter + Rule's Changes + operationId: getRouteFilterRuleChanges parameters: - - description: Service UUID + - description: Route Filters Id explode: false in: path - name: serviceId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouteFilterId' style: simple - requestBody: - content: - application/json-patch+json: - examples: - editName: - $ref: '#/components/examples/edit' - value: null - schema: - items: - $ref: '#/components/schemas/precisionTimeChangeOperation' - minItems: 1 - type: array + - description: Route Filter Rules Id + explode: false + in: path + name: routeFilterRuleId required: true + schema: + $ref: '#/components/schemas/RouteFilterRuleId' + style: simple + - description: offset + example: 1 + explode: true + in: query + name: offset + required: false + schema: + type: integer + style: form + - description: number of records to fetch + example: 10 + explode: true + in: query + name: limit + required: false + schema: + type: integer + style: form responses: "200": content: application/json: examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + RouteFilterRuleChangesResponse: + $ref: '#/components/examples/RouteFilterRulesGetAllChangesResponseExample' value: null schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' - description: Successful operation + $ref: '#/components/schemas/RouteFilterRulesChangeDataResponse' + description: Fabric Route Filter Rule Change object "400": content: application/json: examples: - MandatoryName: - $ref: '#/components/examples/400-Mandatory-Name' - value: null - InvalidName: - $ref: '#/components/examples/400-Invalid-Name' - value: null - ValidateName: - $ref: '#/components/examples/400-Validate-Name' - value: null - DuplicateName: - $ref: '#/components/examples/400-Duplicate-Name' - value: null - MandatoryConnectionUuid: - $ref: '#/components/examples/400-Mandatory-ConnectionUUid' - value: null - InvalidConnectionUuidFormat: - $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' - value: null - InvalidConnectionStatus: - $ref: '#/components/examples/400-Invalid-Connection-Status' - value: null - ValidateConnectionUuid: - $ref: '#/components/examples/400-Validate-ConnectionUuid' - value: null - InvalidConnectionLocation: - $ref: '#/components/examples/400-Invalid-Connection-Location' - value: null - MandatoryPackageType: - $ref: '#/components/examples/400-Mandatory-PackageType' - value: null - InvalidPackageType: - $ref: '#/components/examples/400-Invalid-PackageType' - value: null - InvalidConnectionPackageType: - $ref: '#/components/examples/400-Invalid-Connection-PackageType' - value: null - MandatoryPackage: - $ref: '#/components/examples/400-Mandatory-Package' - value: null - InvalidPackage: - $ref: '#/components/examples/400-Invalid-Package' - value: null - InvalidConnectionPackage: - $ref: '#/components/examples/400-Invalid-Connection-Package' - value: null - MandatoryPrimaryIP: - $ref: '#/components/examples/400-Mandatory-PrimaryIP' - value: null - InvalidPrimaryIPFormat: - $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' - value: null - ValidatePrimaryIP: - $ref: '#/components/examples/400-Validate-PrimaryIP' - value: null - MandatorySecondaryIP: - $ref: '#/components/examples/400-Mandatory-SecondaryIP' - value: null - InvalidSecondaryIPFormat: - $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' - value: null - ValidateSecondaryIP: - $ref: '#/components/examples/400-Validate-SecondaryIP' - value: null - ValidateSameSubnet: - $ref: '#/components/examples/400-Validate-SameSubnet' - value: null - MandatoryNetworkMask: - $ref: '#/components/examples/400-Mandatory-NetworkMask' - value: null - InvalidNetworkMaskFormat: - $ref: '#/components/examples/400-Invalid-NetworkMask-Format' - value: null - ValidateNetworkMask: - $ref: '#/components/examples/400-Validate-NetworkMask' - value: null - InvalidDefaultGatewayFormat: - $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' - value: null - ValidateDefaultGateway: - $ref: '#/components/examples/400-Validate-DefaultGateway' - value: null - InvalidTimeScale: - $ref: '#/components/examples/400-Invalid-TimeScale' - value: null - InvalidDomain: - $ref: '#/components/examples/400-Invalid-Domain' - value: null - InvalidPriority1: - $ref: '#/components/examples/400-Invalid-Priority1' - value: null - InvalidPriority2: - $ref: '#/components/examples/400-Invalid-Priority2' - value: null - InvalidLogAnnounceInterval: - $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' - value: null - ValidateLogAnnounceIntervalRange: - $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' - value: null - InvalidLogSyncInterval: - $ref: '#/components/examples/400-Invalid-LogSyncInterval' - value: null - ValidateLogSyncIntervalRange: - $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' - value: null - InvalidLogDelayReqInterval: - $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' - value: null - ValidateLogDelayReqIntervalRange: - $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' - value: null - InvalidTransportMode: - $ref: '#/components/examples/400-Invalid-TransportMode' - value: null - InvalidGrantTime: - $ref: '#/components/examples/400-Invalid-GrantTime' - value: null - ValidateGrantTimeRange: - $ref: '#/components/examples/400-Validate-GrantTime-Range' - value: null - InvalidType: - $ref: '#/components/examples/400-Invalid-Type' - value: null - InvalidId: - $ref: '#/components/examples/400-Invalid-Id' - value: null - InvalidPassword: - $ref: '#/components/examples/400-Invalid-Password' - value: null - ValidatePassword: - $ref: '#/components/examples/400-Validate-Password' + example: + $ref: '#/components/examples/400_Invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -6166,198 +5950,77 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden - "415": + "404": content: application/json: examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type + description: Route Filter ID Not Found "500": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Patch Time Service + summary: Get All Changes tags: - - Precision Time - x-content-type: application/json-patch+json + - Route Filter Rules x-accepts: application/json - /fabric/v4/timeServices: - post: - description: The API provides capability to create timing service - operationId: createTimeServices - parameters: [] - requestBody: - content: - application/json: - examples: - ntpSingleStandard: - $ref: '#/components/examples/ntpSingleStandard' - value: null - ptpSingleStandard: - $ref: '#/components/examples/ptpSingleStandard' - value: null - ptpSingleEnterpriseWithAdvanceConfiguration: - $ref: '#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration' - value: null - schema: - $ref: '#/components/schemas/precisionTimeServiceRequest' + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}: + get: + description: This API provides capability to retrieve a specific Route Filter + Rule's Changes + operationId: getRouteFilterRuleChangeByUuid + parameters: + - description: Route Filters Id + explode: false + in: path + name: routeFilterId + required: true + schema: + $ref: '#/components/schemas/RouteFilterId' + style: simple + - description: Route Filter Rules Id + explode: false + in: path + name: routeFilterRuleId + required: true + schema: + $ref: '#/components/schemas/RouteFilterRuleId' + style: simple + - description: Route Filter Rule Change UUID + explode: false + in: path + name: changeId required: true + schema: + $ref: '#/components/schemas/ChangeId_2' + style: simple responses: - "202": + "200": content: application/json: examples: - NtpStandard: - $ref: '#/components/examples/ntpStandardCreateResponse' + RouteFilterChangeResponse: + $ref: '#/components/examples/RouteFilterRuleGetChangeResponseExample' value: null schema: - $ref: '#/components/schemas/precisionTimeServiceCreateResponse' - description: Successful operation + $ref: '#/components/schemas/RouteFilterRulesChangeData' + description: Fabric Route Filter Change object "400": content: application/json: examples: - MandatoryName: - $ref: '#/components/examples/400-Mandatory-Name' - value: null - InvalidName: - $ref: '#/components/examples/400-Invalid-Name' - value: null - ValidateName: - $ref: '#/components/examples/400-Validate-Name' - value: null - DuplicateName: - $ref: '#/components/examples/400-Duplicate-Name' - value: null - MandatoryConnectionUuid: - $ref: '#/components/examples/400-Mandatory-ConnectionUUid' - value: null - InvalidConnectionUuidFormat: - $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' - value: null - InvalidConnectionStatus: - $ref: '#/components/examples/400-Invalid-Connection-Status' - value: null - ValidateConnectionUuid: - $ref: '#/components/examples/400-Validate-ConnectionUuid' - value: null - InvalidConnectionLocation: - $ref: '#/components/examples/400-Invalid-Connection-Location' - value: null - MandatoryPackageType: - $ref: '#/components/examples/400-Mandatory-PackageType' - value: null - InvalidPackageType: - $ref: '#/components/examples/400-Invalid-PackageType' - value: null - InvalidConnectionPackageType: - $ref: '#/components/examples/400-Invalid-Connection-PackageType' - value: null - MandatoryPackage: - $ref: '#/components/examples/400-Mandatory-Package' - value: null - InvalidPackage: - $ref: '#/components/examples/400-Invalid-Package' - value: null - InvalidConnectionPackage: - $ref: '#/components/examples/400-Invalid-Connection-Package' - value: null - MandatoryPrimaryIP: - $ref: '#/components/examples/400-Mandatory-PrimaryIP' - value: null - InvalidPrimaryIPFormat: - $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' - value: null - ValidatePrimaryIP: - $ref: '#/components/examples/400-Validate-PrimaryIP' - value: null - MandatorySecondaryIP: - $ref: '#/components/examples/400-Mandatory-SecondaryIP' - value: null - InvalidSecondaryIPFormat: - $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' - value: null - ValidateSecondaryIP: - $ref: '#/components/examples/400-Validate-SecondaryIP' - value: null - ValidateSameSubnet: - $ref: '#/components/examples/400-Validate-SameSubnet' - value: null - MandatoryNetworkMask: - $ref: '#/components/examples/400-Mandatory-NetworkMask' - value: null - InvalidNetworkMaskFormat: - $ref: '#/components/examples/400-Invalid-NetworkMask-Format' - value: null - ValidateNetworkMask: - $ref: '#/components/examples/400-Validate-NetworkMask' - value: null - InvalidDefaultGatewayFormat: - $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' - value: null - ValidateDefaultGateway: - $ref: '#/components/examples/400-Validate-DefaultGateway' - value: null - InvalidTimeScale: - $ref: '#/components/examples/400-Invalid-TimeScale' - value: null - InvalidDomain: - $ref: '#/components/examples/400-Invalid-Domain' - value: null - InvalidPriority1: - $ref: '#/components/examples/400-Invalid-Priority1' - value: null - InvalidPriority2: - $ref: '#/components/examples/400-Invalid-Priority2' - value: null - InvalidLogAnnounceInterval: - $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' - value: null - ValidateLogAnnounceIntervalRange: - $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' - value: null - InvalidLogSyncInterval: - $ref: '#/components/examples/400-Invalid-LogSyncInterval' - value: null - ValidateLogSyncIntervalRange: - $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' - value: null - InvalidLogDelayReqInterval: - $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' - value: null - ValidateLogDelayReqIntervalRange: - $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' - value: null - InvalidTransportMode: - $ref: '#/components/examples/400-Invalid-TransportMode' - value: null - InvalidGrantTime: - $ref: '#/components/examples/400-Invalid-GrantTime' - value: null - ValidateGrantTimeRange: - $ref: '#/components/examples/400-Validate-GrantTime-Range' - value: null - InvalidType: - $ref: '#/components/examples/400-Invalid-Type' - value: null - InvalidId: - $ref: '#/components/examples/400-Invalid-Id' - value: null - InvalidPassword: - $ref: '#/components/examples/400-Invalid-Password' - value: null - ValidatePassword: - $ref: '#/components/examples/400-Validate-Password' + example: + $ref: '#/components/examples/400_Invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' @@ -6382,55 +6045,104 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Forbidden - "415": + "404": content: application/json: examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/404_invalid_id' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type + description: Route Filter ID Not Found "500": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/500_internal_error' value: null schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Create Time Service + summary: Get Change By ID tags: - - Precision Time - x-content-type: application/json + - Route Filter Rules x-accepts: application/json - /fabric/v4/timeServices/{serviceId}/connections: - get: - description: The API provides capability to get prevision timing service's details - operationId: getTimeServicesConnectionsByServiceId + /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk: + post: + description: This API provides capability to create bulk route filter rules + operationId: createRouteFilterRulesInBulk parameters: - - description: Service UUID + - description: Route Filters Id explode: false in: path - name: serviceId + name: routeFilterId required: true schema: - $ref: '#/components/schemas/ServiceId' + $ref: '#/components/schemas/RouteFilterId' style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RouteFilterRulesPostRequest' + required: true + responses: + "202": + content: + application/json: + examples: + getAllRouteFilters: + $ref: '#/components/examples/RouteFilterRulesGetAll' + value: null + schema: + $ref: '#/components/schemas/GetRouteFilterRulesResponse' + description: Successful operation + summary: Bulk RFRules + tags: + - Route Filter Rules + x-content-type: application/json + x-accepts: application/json + /fabric/v4/routers: + post: + description: This API provides capability to create user's Cloud Routers + operationId: createCloudRouter + parameters: [] + requestBody: + content: + application/json: + examples: + CreateLabPackage: + $ref: '#/components/examples/CreateLabPackage' + value: null + CreateProPackage: + $ref: '#/components/examples/CreateStandardPackage' + value: null + schema: + $ref: '#/components/schemas/CloudRouterPostRequest' + required: true responses: "200": + content: + application/json: + examples: + cloudRouterResponse: + $ref: '#/components/examples/CloudRouterPostResponseExample' + value: null + schema: + $ref: '#/components/schemas/CloudRouter' + description: Fabric Cloud Router object + "400": content: application/json: examples: example: - $ref: '#/components/examples/serviceConnectionsResponse' + $ref: '#/components/examples/400_invalid_package' value: null schema: - $ref: '#/components/schemas/precisionTimeServiceConnectionsResponse' - description: Return Time Service Connection + $ref: '#/components/schemas/ErrorList' + description: Bad request "401": content: application/json: @@ -6471,36 +6183,67 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Get all Connections + summary: Create Routers tags: - - Precision Time + - Cloud Routers + x-content-type: application/json x-accepts: application/json - /fabric/v4/timeServicePackages: - get: - description: The API provides capability to get timing service's packages - operationId: getTimeServicesPackages - parameters: [] + /fabric/v4/routers/{routerId}: + delete: + description: This API provides capability to delete user's Cloud Routers + operationId: deleteCloudRouterByUuid + parameters: + - description: Cloud Router UUID + explode: false + in: path + name: routerId + required: true + schema: + $ref: '#/components/schemas/RouterId' + style: simple responses: - "200": + "204": + description: Deleted Cloud Router Successfully + "400": content: application/json: examples: example: - $ref: '#/components/examples/servicePackagesResponse' + $ref: '#/components/examples/400_invalid_state' value: null schema: - $ref: '#/components/schemas/precisionTimeServicePackagesResponse' - description: Successful operation - "415": + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": content: application/json: examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/401' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found "500": content: application/json: @@ -6511,63 +6254,2201 @@ paths: schema: $ref: '#/components/schemas/ErrorList' description: Internal server error - summary: Get Packages + summary: Delete Routers tags: - - Precision Time + - Cloud Routers x-accepts: application/json - /fabric/v4/timeServicePackages/{packageCode}: get: - description: The API provides capability to get timing service's package by - code - operationId: getTimeServicesPackageByCode + description: This API provides capability to retrieve user's Cloud Routers + operationId: getCloudRouterByUuid parameters: - - description: Package Code + - description: Cloud Router UUID explode: false in: path - name: packageCode + name: routerId required: true schema: - enum: - - NTP_STANDARD - - NTP_ENTERPRISE - - PTP_STANDARD - - PTP_ENTERPRISE - type: string + $ref: '#/components/schemas/RouterId' style: simple responses: "200": content: application/json: examples: - example: - $ref: '#/components/examples/servicePackageResponse' + cloudRouterResponse: + $ref: '#/components/examples/CloudRouterResponseExample' value: null schema: - $ref: '#/components/schemas/PackageResponse' - description: Successful operation - "415": + $ref: '#/components/schemas/CloudRouter' + description: Fabric Cloud Router object + "401": content: application/json: examples: example: - $ref: '#/components/examples/415' + $ref: '#/components/examples/401' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Unsupported Media Type - "500": + description: Unauthorized + "403": content: application/json: examples: example: - $ref: '#/components/examples/500' + $ref: '#/components/examples/403' value: null schema: $ref: '#/components/schemas/ErrorList' - description: Internal server error - summary: Get Package by Code - tags: + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get Routers + tags: + - Cloud Routers + x-accepts: application/json + patch: + description: This API provides capability to update user's Cloud Routers + operationId: updateCloudRouterByUuid + parameters: + - description: Cloud Router UUID + explode: false + in: path + name: routerId + required: true + schema: + $ref: '#/components/schemas/RouterId' + style: simple + requestBody: + content: + application/json-patch+json: + examples: + UpdatePackage: + $ref: '#/components/examples/UpdatePackage' + value: null + UpdateName: + $ref: '#/components/examples/UpdateName' + value: null + UpdateNotificationEmail: + $ref: '#/components/examples/UpdateNotifications' + value: null + schema: + $ref: '#/components/schemas/CloudRouterUpdateRequest' + required: true + responses: + "200": + content: + application/json: + examples: + cloudRouterResponse: + $ref: '#/components/examples/CloudRouterPatchResponseExample' + value: null + schema: + $ref: '#/components/schemas/CloudRouter' + description: Fabric Cloud Router object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_operation' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Update Routers + tags: + - Cloud Routers + x-content-type: application/json-patch+json + x-accepts: application/json + /fabric/v4/routers/{routerId}/actions: + get: + description: This API provides capability to fetch action status + operationId: getCloudRouterActions + parameters: + - description: Router UUID + explode: false + in: path + name: routerId + required: true + schema: + $ref: '#/components/schemas/RouterId_1' + style: simple + - description: Action state + explode: true + in: query + name: state + required: false + schema: + $ref: '#/components/schemas/ActionState' + style: form + responses: + "200": + content: + application/json: + examples: + routerActionExample: + $ref: '#/components/examples/CloudRouterActionResponse' + value: null + schema: + $ref: '#/components/schemas/CloudRouterActionResponse' + description: Successful operation + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_operation' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get actions + tags: + - Cloud Routers + x-accepts: application/json + post: + description: This API provides capability to refresh route table and bgp session + summary information + operationId: createCloudRouterAction + parameters: + - description: Router UUID + explode: false + in: path + name: routerId + required: true + schema: + $ref: '#/components/schemas/RouterId_1' + style: simple + requestBody: + content: + application/json: + examples: + RouteEntriesStatusUpdate: + $ref: '#/components/examples/RouteEntriesStatusUpdate' + value: null + schema: + $ref: '#/components/schemas/CloudRouterActionRequest' + required: true + responses: + "202": + content: + application/json: + examples: + cloudRouterActionExample: + $ref: '#/components/examples/CloudRouterActionResponse' + value: null + schema: + $ref: '#/components/schemas/CloudRouterActionResponse' + description: Successful operation + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_operation' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Route table actions + tags: + - Cloud Routers + x-content-type: application/json + x-accepts: application/json + /fabric/v4/routers/{routerId}/routes/search: + post: + 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: + - description: Router UUID + explode: false + in: path + name: routerId + required: true + schema: + $ref: '#/components/schemas/RouterId_1' + style: simple + requestBody: + content: + application/json: + examples: + SearchFilterByNextHop: + $ref: '#/components/examples/SearchFilterByNextHop' + value: null + SearchFilterByPrefix: + $ref: '#/components/examples/SearchFilterByPrefix' + value: null + SearchFilterByType: + $ref: '#/components/examples/SearchFilterByType' + value: null + SearchFilterByStatus: + $ref: '#/components/examples/SearchFilterByStatus' + value: null + SearchFilterOrAnd: + $ref: '#/components/examples/SearchFilterOrAnd' + value: null + schema: + $ref: '#/components/schemas/RouteTableEntrySearchRequest' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/RouteTableEntrySearchResponse' + description: Successful operation + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_sorting' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Search Route Table + tags: + - Cloud Routers + x-content-type: application/json + x-accepts: application/json + /fabric/v4/routers/{routerId}/validate: + post: + description: This API provides capability to validate all subnets associated + with any connection in the given FCR + operationId: validateRoutingProtocol + parameters: + - description: Cloud Router UUID + explode: false + in: path + name: routerId + required: true + schema: + $ref: '#/components/schemas/RouterId' + style: simple + requestBody: + content: + application/json: + examples: + ValidateDirectIpv4: + $ref: '#/components/examples/Request-direct-ipv4' + value: null + ValidateDirectIpv6: + $ref: '#/components/examples/Request-direct-ipv6' + value: null + schema: + $ref: '#/components/schemas/ValidateRequest' + required: true + responses: + "200": + content: + application/json: + examples: + ValidateSubnet: + $ref: '#/components/examples/Response-200' + value: null + schema: + $ref: '#/components/schemas/ValidateSubnetResponse' + description: Successful operation + "400": + content: + application/json: + examples: + Bad Request: + $ref: '#/components/examples/error-400' + value: null + Subnet Overlapping: + $ref: '#/components/examples/error-400-overlappingSubnet' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + summary: Validate Subnet + tags: + - Routing Protocols + x-content-type: application/json + x-accepts: application/json + /fabric/v4/routers/search: + post: + 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: + examples: + SearchFilterByStatus: + $ref: '#/components/examples/SearchFilterByStatus' + value: null + SearchFilterByNameAndMetroName: + $ref: '#/components/examples/SearchFilterByNameAndMetroName' + value: null + SearchFilterOrAnd: + $ref: '#/components/examples/SearchFilterOrAnd' + value: null + schema: + $ref: '#/components/schemas/CloudRouterSearchRequest' + required: true + responses: + "200": + content: + application/json: + examples: + Example: + $ref: '#/components/examples/search-example' + value: null + schema: + $ref: '#/components/schemas/SearchResponse' + description: Successful operation + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_sorting' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Search Routers + tags: + - Cloud Routers + x-content-type: application/json + x-accepts: application/json + /fabric/v4/routerPackages: + get: + description: This API provides capability to retrieve user's Cloud Routers Packages + operationId: getCloudRouterPackages + parameters: + - description: offset + example: 1 + explode: true + in: query + name: offset + required: false + schema: + type: integer + style: form + - description: number of records to fetch + example: 10 + explode: true + in: query + name: limit + required: false + schema: + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + Example: + $ref: '#/components/examples/ListFCRPackagesResponse' + value: null + schema: + $ref: '#/components/schemas/PackageResponse' + description: Fabric Cloud Router Packages + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: List Packages + tags: + - Cloud Routers + x-accepts: application/json + /fabric/v4/routerPackages/{routerPackageCode}: + get: + description: This API provides capability to retrieve user's Cloud Routers Package + Details + operationId: getCloudRouterPackageByCode + parameters: + - description: Equinix-assigned Cloud Router package identifier + explode: false + in: path + name: routerPackageCode + required: true + schema: + $ref: '#/components/schemas/RouterPackageCode' + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterPackage' + description: Fabric Cloud Router Package details + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_package' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get Package Details + tags: + - Cloud Routers + x-accepts: application/json + /fabric/v4/health: + get: + 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": + content: + application/json: + examples: + metroExample: + $ref: '#/components/examples/healthResponse' + value: null + schema: + $ref: '#/components/schemas/HealthResponse' + description: Successful operation + summary: Get service status + tags: + - Health + x-accepts: application/json + /fabric/v4/connections/validate: + post: + description: This API provides capability to validate by auth key + operationId: validateConnections + parameters: [] + requestBody: + content: + application/json: + examples: + Alibaba-ValidateAuthKey: + $ref: '#/components/examples/Request_Alibaba' + value: null + Aws-ValidateAuthKey: + $ref: '#/components/examples/Request_AWS' + value: null + Azure-ValidateAuthKey: + $ref: '#/components/examples/Request_Azure' + value: null + Google-ValidateAuthKey: + $ref: '#/components/examples/Request_Google' + value: null + IBM-1.0-ValidateAuthKey: + $ref: '#/components/examples/Request_IBM_1' + value: null + IBM-2.0-ValidateAuthKey: + $ref: '#/components/examples/Request_IBM_2' + value: null + Oracle-ValidateAuthKey: + $ref: '#/components/examples/Request_Oracle' + value: null + Dot1q-ValidateVlanAvailability: + $ref: '#/components/examples/Dot1q_Vlan' + value: null + Qinq-ValidateVlanAvailability: + $ref: '#/components/examples/Qinq_Vlan' + value: null + schema: + $ref: '#/components/schemas/ValidateRequest' + required: true + responses: + "200": + content: + application/json: + examples: + Alibaba-ValidateAuthKey: + $ref: '#/components/examples/Response-Alibaba' + value: null + Aws-ValidateAuthKey: + $ref: '#/components/examples/Response-Aws' + value: null + Azure-ValidateAuthKey-no-existing-connections: + $ref: '#/components/examples/Response-Azure-no-existing-connections' + value: null + Azure-ValidateAuthKey-1-existing-Dot1q-connection: + $ref: '#/components/examples/Response-Azure-1-existing-Dot1q-connection' + value: null + Azure-ValidateAuthKey-1-existing-Qinq-connection: + $ref: '#/components/examples/Response-Azure-1-existing-Qinq-connection' + value: null + Azure-ValidateAuthKey-2-existing-Dot1q-connection: + $ref: '#/components/examples/Response-Azure-2-existing-Dot1q-connections' + value: null + Google-ValidateAuthKey: + $ref: '#/components/examples/Response-Google' + value: null + IBM-1.0-ValidateAuthKey: + $ref: '#/components/examples/Response-IBM-1' + value: null + IBM-2.0-ValidateAuthKey: + $ref: '#/components/examples/Response-IBM-2' + value: null + Oracle-ValidateAuthKey: + $ref: '#/components/examples/Response-Oracle' + value: null + Dot1q-ValidateAuthKey: + $ref: '#/components/examples/Response-Dot1q-Vlan' + value: null + Qinq-ValidateAuthKey: + $ref: '#/components/examples/Response-Qinq-Vlan' + value: null + schema: + $ref: '#/components/schemas/ConnectionResponse' + description: Successful operation + "400": + content: + application/json: + examples: + Bad Request: + $ref: '#/components/examples/error-400' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + summary: Validate Connection + tags: + - Connections + x-content-type: application/json + x-accepts: application/json + /fabric/v4/networks: + post: + description: This API provides capability to create user's Fabric Network + operationId: createNetwork + parameters: [] + requestBody: + content: + application/json: + examples: + CreateGlobalNetwork: + $ref: '#/components/examples/CreateGlobalNetwork' + value: null + CreateRegionalNetwork: + $ref: '#/components/examples/CreateRegionalNetwork' + value: null + schema: + $ref: '#/components/schemas/NetworkPostRequest' + required: true + responses: + "202": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkPostResponseExample' + value: null + schema: + $ref: '#/components/schemas/Network' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Create Network + tags: + - Networks + x-content-type: application/json + x-accepts: application/json + /fabric/v4/networks/{networkId}: + delete: + description: This API provides capability to delete user's Fabric Network + operationId: deleteNetworkByUuid + parameters: + - description: Network UUID + explode: false + in: path + name: networkId + required: true + schema: + $ref: '#/components/schemas/NetworkId' + style: simple + responses: + "202": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkDeleteResponseExample' + value: null + schema: + $ref: '#/components/schemas/Network' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_state' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + summary: Delete Network By ID + tags: + - Networks + x-accepts: application/json + get: + description: This API provides capability to retrieve user's Fabric Network + operationId: getNetworkByUuid + parameters: + - description: Network UUID + explode: false + in: path + name: networkId + required: true + schema: + $ref: '#/components/schemas/NetworkId' + style: simple + responses: + "200": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkGetResponseExample' + value: null + schema: + $ref: '#/components/schemas/Network' + description: Fabric Network Access point object + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + summary: Get Network By ID + tags: + - Networks + x-accepts: application/json + patch: + description: This API provides capability to update user's Fabric Network + operationId: updateNetworkByUuid + parameters: + - description: Network UUID + explode: false + in: path + name: networkId + required: true + schema: + $ref: '#/components/schemas/NetworkId' + style: simple + requestBody: + content: + application/json-patch+json: + examples: + UpdateName: + $ref: '#/components/examples/UpdateNetworkName' + value: null + UpdateNotificationEmail: + $ref: '#/components/examples/UpdateNetworkNotifications' + value: null + schema: + $ref: '#/components/schemas/NetworkUpdateRequest' + required: true + responses: + "200": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkPatchResponseExample' + value: null + schema: + $ref: '#/components/schemas/Network' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_state' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + summary: Update Network By ID + tags: + - Networks + x-content-type: application/json-patch+json + x-accepts: application/json + /fabric/v4/networks/search: + post: + 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: + examples: + SearchFilterByStatus: + $ref: '#/components/examples/SearchFilterByStatus' + value: null + SearchFilterOrAnd: + $ref: '#/components/examples/SearchFilterOrAnd' + value: null + schema: + $ref: '#/components/schemas/NetworkSearchRequest' + required: true + responses: + "200": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkSearchResponseExample' + value: null + schema: + $ref: '#/components/schemas/NetworkSearchResponse' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_sorting' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + summary: Search Network + tags: + - Networks + x-content-type: application/json + x-accepts: application/json + /fabric/v4/networks/{networkId}/connections: + get: + description: The API provides capability to get list of user's Fabric Network + connections + operationId: getConnectionsByNetworkUuid + parameters: + - description: Network UUID + explode: false + in: path + name: networkId + required: true + schema: + $ref: '#/components/schemas/NetworkId' + style: simple + responses: + "200": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/GetNetworkConnectionExample' + value: null + schema: + $ref: '#/components/schemas/NetworkConnections' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_uuid' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + summary: Get Connections + tags: + - Networks + x-accepts: application/json + /fabric/v4/networks/{networkId}/changes: + get: + description: The API provides capability to get list of user's Fabric Network + changes + operationId: getNetworkChanges + parameters: + - description: Network UUID + explode: false + in: path + name: networkId + required: true + schema: + $ref: '#/components/schemas/NetworkId' + style: simple + responses: + "200": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkChangeResponseExample' + value: null + schema: + $ref: '#/components/schemas/NetworkChangeResponse' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_uuid' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + summary: Get Network Changes + tags: + - Networks + x-accepts: application/json + /fabric/v4/networks/{networkId}/changes/{changeId}: + get: + description: This API provides capability to retrieve user's Fabric Network + Change + operationId: getNetworkChangeByUuid + parameters: + - description: Network UUID + explode: false + in: path + name: networkId + required: true + schema: + $ref: '#/components/schemas/NetworkId' + style: simple + - description: Network Change UUID + explode: false + in: path + name: changeId + required: true + schema: + $ref: '#/components/schemas/ChangeId_3' + style: simple + responses: + "200": + content: + application/json: + examples: + networkResponse: + $ref: '#/components/examples/NetworkGetChangeResponseExample' + value: null + schema: + $ref: '#/components/schemas/NetworkChange' + description: Fabric Network Access point object + "400": + content: + application/json: + examples: + example: + $ref: '#/components/examples/400_invalid_uuid' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "404": + content: + application/json: + examples: + example: + $ref: '#/components/examples/404' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Not Found + summary: Get Change By ID + tags: + - Networks + x-accepts: application/json + /fabric/v4/timeServices/{serviceId}: + delete: + description: Delete EPT service by it's uuid + operationId: deleteTimeServiceById + parameters: + - description: Service UUID + explode: false + in: path + name: serviceId + required: true + schema: + $ref: '#/components/schemas/ServiceId' + style: simple + responses: + "202": + content: + application/json: + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + value: null + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + description: Successful operation + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Delete time service + tags: + - Precision Time + x-accepts: application/json + get: + description: The API provides capability to get precision timing service's details + operationId: getTimeServicesById + parameters: + - description: Service UUID + explode: false + in: path + name: serviceId + required: true + schema: + $ref: '#/components/schemas/ServiceId' + style: simple + responses: + "202": + content: + application/json: + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + value: null + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + description: Successful operation + "400": + content: + application/json: + examples: + MandatoryName: + $ref: '#/components/examples/400-Mandatory-Name' + value: null + InvalidName: + $ref: '#/components/examples/400-Invalid-Name' + value: null + ValidateName: + $ref: '#/components/examples/400-Validate-Name' + value: null + DuplicateName: + $ref: '#/components/examples/400-Duplicate-Name' + value: null + MandatoryConnectionUuid: + $ref: '#/components/examples/400-Mandatory-ConnectionUUid' + value: null + InvalidConnectionUuidFormat: + $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' + value: null + InvalidConnectionStatus: + $ref: '#/components/examples/400-Invalid-Connection-Status' + value: null + ValidateConnectionUuid: + $ref: '#/components/examples/400-Validate-ConnectionUuid' + value: null + InvalidConnectionLocation: + $ref: '#/components/examples/400-Invalid-Connection-Location' + value: null + MandatoryPackageType: + $ref: '#/components/examples/400-Mandatory-PackageType' + value: null + InvalidPackageType: + $ref: '#/components/examples/400-Invalid-PackageType' + value: null + InvalidConnectionPackageType: + $ref: '#/components/examples/400-Invalid-Connection-PackageType' + value: null + MandatoryPackage: + $ref: '#/components/examples/400-Mandatory-Package' + value: null + InvalidPackage: + $ref: '#/components/examples/400-Invalid-Package' + value: null + InvalidConnectionPackage: + $ref: '#/components/examples/400-Invalid-Connection-Package' + value: null + MandatoryPrimaryIP: + $ref: '#/components/examples/400-Mandatory-PrimaryIP' + value: null + InvalidPrimaryIPFormat: + $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' + value: null + ValidatePrimaryIP: + $ref: '#/components/examples/400-Validate-PrimaryIP' + value: null + MandatorySecondaryIP: + $ref: '#/components/examples/400-Mandatory-SecondaryIP' + value: null + InvalidSecondaryIPFormat: + $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' + value: null + ValidateSecondaryIP: + $ref: '#/components/examples/400-Validate-SecondaryIP' + value: null + ValidateSameSubnet: + $ref: '#/components/examples/400-Validate-SameSubnet' + value: null + MandatoryNetworkMask: + $ref: '#/components/examples/400-Mandatory-NetworkMask' + value: null + InvalidNetworkMaskFormat: + $ref: '#/components/examples/400-Invalid-NetworkMask-Format' + value: null + ValidateNetworkMask: + $ref: '#/components/examples/400-Validate-NetworkMask' + value: null + InvalidDefaultGatewayFormat: + $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' + value: null + ValidateDefaultGateway: + $ref: '#/components/examples/400-Validate-DefaultGateway' + value: null + InvalidTimeScale: + $ref: '#/components/examples/400-Invalid-TimeScale' + value: null + InvalidDomain: + $ref: '#/components/examples/400-Invalid-Domain' + value: null + InvalidPriority1: + $ref: '#/components/examples/400-Invalid-Priority1' + value: null + InvalidPriority2: + $ref: '#/components/examples/400-Invalid-Priority2' + value: null + InvalidLogAnnounceInterval: + $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' + value: null + ValidateLogAnnounceIntervalRange: + $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' + value: null + InvalidLogSyncInterval: + $ref: '#/components/examples/400-Invalid-LogSyncInterval' + value: null + ValidateLogSyncIntervalRange: + $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' + value: null + InvalidLogDelayReqInterval: + $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' + value: null + ValidateLogDelayReqIntervalRange: + $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' + value: null + InvalidTransportMode: + $ref: '#/components/examples/400-Invalid-TransportMode' + value: null + InvalidGrantTime: + $ref: '#/components/examples/400-Invalid-GrantTime' + value: null + ValidateGrantTimeRange: + $ref: '#/components/examples/400-Validate-GrantTime-Range' + value: null + InvalidType: + $ref: '#/components/examples/400-Invalid-Type' + value: null + InvalidId: + $ref: '#/components/examples/400-Invalid-Id' + value: null + InvalidPassword: + $ref: '#/components/examples/400-Invalid-Password' + value: null + ValidatePassword: + $ref: '#/components/examples/400-Validate-Password' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Get Time Service + tags: + - Precision Time + x-accepts: application/json + patch: + description: The API provides capability to update timing service + operationId: updateTimeServicesById + parameters: + - description: Service UUID + explode: false + in: path + name: serviceId + required: true + schema: + $ref: '#/components/schemas/ServiceId' + style: simple + requestBody: + content: + application/json-patch+json: + examples: + editName: + $ref: '#/components/examples/edit' + value: null + schema: + items: + $ref: '#/components/schemas/precisionTimeChangeOperation' + maxItems: 1 + minItems: 1 + type: array + required: true + responses: + "202": + content: + application/json: + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + value: null + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + description: Successful operation + "400": + content: + application/json: + examples: + MandatoryName: + $ref: '#/components/examples/400-Mandatory-Name' + value: null + InvalidName: + $ref: '#/components/examples/400-Invalid-Name' + value: null + ValidateName: + $ref: '#/components/examples/400-Validate-Name' + value: null + DuplicateName: + $ref: '#/components/examples/400-Duplicate-Name' + value: null + MandatoryConnectionUuid: + $ref: '#/components/examples/400-Mandatory-ConnectionUUid' + value: null + InvalidConnectionUuidFormat: + $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' + value: null + InvalidConnectionStatus: + $ref: '#/components/examples/400-Invalid-Connection-Status' + value: null + ValidateConnectionUuid: + $ref: '#/components/examples/400-Validate-ConnectionUuid' + value: null + InvalidConnectionLocation: + $ref: '#/components/examples/400-Invalid-Connection-Location' + value: null + MandatoryPackageType: + $ref: '#/components/examples/400-Mandatory-PackageType' + value: null + InvalidPackageType: + $ref: '#/components/examples/400-Invalid-PackageType' + value: null + InvalidConnectionPackageType: + $ref: '#/components/examples/400-Invalid-Connection-PackageType' + value: null + MandatoryPackage: + $ref: '#/components/examples/400-Mandatory-Package' + value: null + InvalidPackage: + $ref: '#/components/examples/400-Invalid-Package' + value: null + InvalidConnectionPackage: + $ref: '#/components/examples/400-Invalid-Connection-Package' + value: null + MandatoryPrimaryIP: + $ref: '#/components/examples/400-Mandatory-PrimaryIP' + value: null + InvalidPrimaryIPFormat: + $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' + value: null + ValidatePrimaryIP: + $ref: '#/components/examples/400-Validate-PrimaryIP' + value: null + MandatorySecondaryIP: + $ref: '#/components/examples/400-Mandatory-SecondaryIP' + value: null + InvalidSecondaryIPFormat: + $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' + value: null + ValidateSecondaryIP: + $ref: '#/components/examples/400-Validate-SecondaryIP' + value: null + ValidateSameSubnet: + $ref: '#/components/examples/400-Validate-SameSubnet' + value: null + MandatoryNetworkMask: + $ref: '#/components/examples/400-Mandatory-NetworkMask' + value: null + InvalidNetworkMaskFormat: + $ref: '#/components/examples/400-Invalid-NetworkMask-Format' + value: null + ValidateNetworkMask: + $ref: '#/components/examples/400-Validate-NetworkMask' + value: null + InvalidDefaultGatewayFormat: + $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' + value: null + ValidateDefaultGateway: + $ref: '#/components/examples/400-Validate-DefaultGateway' + value: null + InvalidTimeScale: + $ref: '#/components/examples/400-Invalid-TimeScale' + value: null + InvalidDomain: + $ref: '#/components/examples/400-Invalid-Domain' + value: null + InvalidPriority1: + $ref: '#/components/examples/400-Invalid-Priority1' + value: null + InvalidPriority2: + $ref: '#/components/examples/400-Invalid-Priority2' + value: null + InvalidLogAnnounceInterval: + $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' + value: null + ValidateLogAnnounceIntervalRange: + $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' + value: null + InvalidLogSyncInterval: + $ref: '#/components/examples/400-Invalid-LogSyncInterval' + value: null + ValidateLogSyncIntervalRange: + $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' + value: null + InvalidLogDelayReqInterval: + $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' + value: null + ValidateLogDelayReqIntervalRange: + $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' + value: null + InvalidTransportMode: + $ref: '#/components/examples/400-Invalid-TransportMode' + value: null + InvalidGrantTime: + $ref: '#/components/examples/400-Invalid-GrantTime' + value: null + ValidateGrantTimeRange: + $ref: '#/components/examples/400-Validate-GrantTime-Range' + value: null + InvalidType: + $ref: '#/components/examples/400-Invalid-Type' + value: null + InvalidId: + $ref: '#/components/examples/400-Invalid-Id' + value: null + InvalidPassword: + $ref: '#/components/examples/400-Invalid-Password' + value: null + ValidatePassword: + $ref: '#/components/examples/400-Validate-Password' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Patch time service + tags: + - Precision Time + x-content-type: application/json-patch+json + x-accepts: application/json + /fabric/v4/timeServices: + post: + description: The API provides capability to create timing service + operationId: createTimeServices + parameters: [] + requestBody: + content: + application/json: + examples: + ntpSingleStandard: + $ref: '#/components/examples/ntpSingleStandard' + value: null + ptpSingleStandard: + $ref: '#/components/examples/ptpSingleStandard' + value: null + ptpSingleEnterpriseWithAdvanceConfiguration: + $ref: '#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration' + value: null + schema: + $ref: '#/components/schemas/precisionTimeServiceRequest' + required: true + responses: + "202": + content: + application/json: + examples: + NtpStandard: + $ref: '#/components/examples/ntpStandardCreateResponse' + value: null + schema: + $ref: '#/components/schemas/precisionTimeServiceCreateResponse' + description: Successful operation + "400": + content: + application/json: + examples: + MandatoryName: + $ref: '#/components/examples/400-Mandatory-Name' + value: null + InvalidName: + $ref: '#/components/examples/400-Invalid-Name' + value: null + ValidateName: + $ref: '#/components/examples/400-Validate-Name' + value: null + DuplicateName: + $ref: '#/components/examples/400-Duplicate-Name' + value: null + MandatoryConnectionUuid: + $ref: '#/components/examples/400-Mandatory-ConnectionUUid' + value: null + InvalidConnectionUuidFormat: + $ref: '#/components/examples/400-Invalid-ConnectionUuid-Format' + value: null + InvalidConnectionStatus: + $ref: '#/components/examples/400-Invalid-Connection-Status' + value: null + ValidateConnectionUuid: + $ref: '#/components/examples/400-Validate-ConnectionUuid' + value: null + InvalidConnectionLocation: + $ref: '#/components/examples/400-Invalid-Connection-Location' + value: null + MandatoryPackageType: + $ref: '#/components/examples/400-Mandatory-PackageType' + value: null + InvalidPackageType: + $ref: '#/components/examples/400-Invalid-PackageType' + value: null + InvalidConnectionPackageType: + $ref: '#/components/examples/400-Invalid-Connection-PackageType' + value: null + MandatoryPackage: + $ref: '#/components/examples/400-Mandatory-Package' + value: null + InvalidPackage: + $ref: '#/components/examples/400-Invalid-Package' + value: null + InvalidConnectionPackage: + $ref: '#/components/examples/400-Invalid-Connection-Package' + value: null + MandatoryPrimaryIP: + $ref: '#/components/examples/400-Mandatory-PrimaryIP' + value: null + InvalidPrimaryIPFormat: + $ref: '#/components/examples/400-Invalid-PrimaryIP-Format' + value: null + ValidatePrimaryIP: + $ref: '#/components/examples/400-Validate-PrimaryIP' + value: null + MandatorySecondaryIP: + $ref: '#/components/examples/400-Mandatory-SecondaryIP' + value: null + InvalidSecondaryIPFormat: + $ref: '#/components/examples/400-Invalid-SecondaryIP-Format' + value: null + ValidateSecondaryIP: + $ref: '#/components/examples/400-Validate-SecondaryIP' + value: null + ValidateSameSubnet: + $ref: '#/components/examples/400-Validate-SameSubnet' + value: null + MandatoryNetworkMask: + $ref: '#/components/examples/400-Mandatory-NetworkMask' + value: null + InvalidNetworkMaskFormat: + $ref: '#/components/examples/400-Invalid-NetworkMask-Format' + value: null + ValidateNetworkMask: + $ref: '#/components/examples/400-Validate-NetworkMask' + value: null + InvalidDefaultGatewayFormat: + $ref: '#/components/examples/400-Invalid-DefaultGateway-Format' + value: null + ValidateDefaultGateway: + $ref: '#/components/examples/400-Validate-DefaultGateway' + value: null + InvalidTimeScale: + $ref: '#/components/examples/400-Invalid-TimeScale' + value: null + InvalidDomain: + $ref: '#/components/examples/400-Invalid-Domain' + value: null + InvalidPriority1: + $ref: '#/components/examples/400-Invalid-Priority1' + value: null + InvalidPriority2: + $ref: '#/components/examples/400-Invalid-Priority2' + value: null + InvalidLogAnnounceInterval: + $ref: '#/components/examples/400-Invalid-LogAnnounceInterval' + value: null + ValidateLogAnnounceIntervalRange: + $ref: '#/components/examples/400-Validate-LogAnnounceInterval-Range' + value: null + InvalidLogSyncInterval: + $ref: '#/components/examples/400-Invalid-LogSyncInterval' + value: null + ValidateLogSyncIntervalRange: + $ref: '#/components/examples/400-Validate-LogSyncInterval-Range' + value: null + InvalidLogDelayReqInterval: + $ref: '#/components/examples/400-Invalid-LogDelayReqInterval' + value: null + ValidateLogDelayReqIntervalRange: + $ref: '#/components/examples/400-Validate-LogDelayReqInterval-Range' + value: null + InvalidTransportMode: + $ref: '#/components/examples/400-Invalid-TransportMode' + value: null + InvalidGrantTime: + $ref: '#/components/examples/400-Invalid-GrantTime' + value: null + ValidateGrantTimeRange: + $ref: '#/components/examples/400-Validate-GrantTime-Range' + value: null + InvalidType: + $ref: '#/components/examples/400-Invalid-Type' + value: null + InvalidId: + $ref: '#/components/examples/400-Invalid-Id' + value: null + InvalidPassword: + $ref: '#/components/examples/400-Invalid-Password' + value: null + ValidatePassword: + $ref: '#/components/examples/400-Validate-Password' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Bad request + "401": + content: + application/json: + examples: + example: + $ref: '#/components/examples/401' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unauthorized + "403": + content: + application/json: + examples: + example: + $ref: '#/components/examples/403' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Forbidden + "415": + content: + application/json: + examples: + example: + $ref: '#/components/examples/415' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Unsupported Media Type + "500": + content: + application/json: + examples: + example: + $ref: '#/components/examples/500' + value: null + schema: + $ref: '#/components/schemas/ErrorList' + description: Internal server error + summary: Create Time Service + tags: - Precision Time + x-content-type: application/json x-accepts: application/json components: examples: @@ -7067,38 +8948,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 @@ -7962,6 +9811,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 @@ -8535,6 +10408,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: @@ -11581,7 +13496,7 @@ components: values: - LAB - BASIC - - PRO + - STANDARD - PREMIUM IpBlockProduct: value: @@ -14759,6 +16674,560 @@ 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 @@ -14775,14 +17244,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: @@ -14802,7 +17271,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -14838,7 +17307,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -14903,7 +17372,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -14936,13 +17405,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 @@ -15067,8 +17529,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: @@ -15110,7 +17572,7 @@ components: metroCode: HH equinixAsn: 30000 package: - code: PRO + code: STANDARD order: purchaseOrderNumber: 1-129105284100 project: @@ -15142,7 +17604,7 @@ components: pagination: offset: 0 limit: 20 - total: 1 + total: 2 data: - href: https://api.equinix.com/fabric/v4/routerPackages/LAB type: ROUTER_PACKAGE @@ -15163,6 +17625,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 @@ -15993,6 +18474,7 @@ 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/timeServicePackages/NTP_STANDARD @@ -16318,6 +18800,10 @@ components: type: TIME_SERVICE_PACKAGE bandwidth: 1 clientsPerSecondMax: 2000 + accuracyUnit: microseconds + accuracySla: -1 + accuracyAvgMin: 1 + accuracyAvgMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: @@ -16328,6 +18814,10 @@ components: type: TIME_SERVICE_PACKAGE bandwidth: 5 clientsPerSecondMax: 1000 + accuracyUnit: microseconds + accuracySla: -1 + accuracyAvgMin: 1 + accuracyAvgMax: 100 redundancySupported: true multiSubnetSupported: true changeLog: @@ -16338,16 +18828,24 @@ components: type: TIME_SERVICE_PACKAGE bandwidth: 5 clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 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 clientsPerSecondMax: 20 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 redundancySupported: true multiSubnetSupported: true changeLog: @@ -16355,11 +18853,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 clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 redundancySupported: true multiSubnetSupported: true changeLog: @@ -16597,6 +19099,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -16606,6 +19109,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -16631,9 +19135,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -16690,6 +19195,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -16975,10 +19483,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -17235,6 +19743,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -17244,6 +19753,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -17269,9 +19779,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -17328,6 +19839,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -17613,10 +20127,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion properties: type: @@ -17877,6 +20391,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -17886,6 +20401,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -17911,9 +20427,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -17970,6 +20487,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -18255,10 +20775,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -18510,6 +21030,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -18519,6 +21040,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -18544,9 +21066,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -18603,6 +21126,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -18888,10 +21414,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -19283,6 +21809,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -19292,6 +21819,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -19317,9 +21845,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -19376,6 +21905,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -19661,10 +22193,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion description: description type: null @@ -19903,6 +22435,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -19912,6 +22445,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -19937,9 +22471,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -19996,6 +22531,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -20281,10 +22819,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion description: description changeLog: @@ -21019,6 +23557,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -21028,6 +23567,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -21053,9 +23593,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -21112,6 +23653,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -21397,10 +23941,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -21652,6 +24196,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -21661,6 +24206,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -21686,9 +24232,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -21745,6 +24292,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -22030,10 +24580,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -22330,6 +24880,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -22339,6 +24890,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -22364,9 +24916,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -22423,6 +24976,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -22708,10 +25264,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -22963,6 +25519,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -22972,6 +25529,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -22997,9 +25555,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -23056,6 +25615,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -23341,10 +25903,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -24167,6 +26729,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -24176,6 +26739,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -24639,6 +27203,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -24649,6 +27214,9 @@ components: name: description: metro name type: string + vcBandwidthMax: + description: max VC speed supported in Mbps + type: integer ibxs: items: description: ibx codes @@ -24848,6 +27416,44 @@ components: - path - value type: object + ServiceMetros: + 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 + properties: + data: + items: + $ref: '#/components/schemas/ServiceMetro' + type: array + pagination: + $ref: '#/components/schemas/Pagination' + type: object ServiceTokenUUID: description: Service Token UUID format: uuid @@ -27144,12 +29750,151 @@ components: operationalStatus: UP connectionCount: 4 opStatusChangedAt: 2020-11-06T07:00:00Z - device: - name: name - redundancy: - priority: PRIMARY - group: group - asn: 9 + 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 + properties: + data: + items: + $ref: '#/components/schemas/Port' + type: array + type: object + BulkPhysicalPort: + description: Add to Lag request + example: + data: + - demarcationPoint: + patchPanel: patchPanel + patchPanelName: patchPanelName + connectorType: connectorType + cabinetUniqueSpaceId: cabinetUniqueSpaceId + patchPanelPortB: patchPanelPortB + patchPanelPortA: patchPanelPortA + cageUniqueSpaceId: cageUniqueSpaceId + ibx: ibx + tether: + patchPanel: patchPanel + systemName: systemName + patchPanelPortB: patchPanelPortB + patchPanelPortA: patchPanelPortA + cabinetNumber: cabinetNumber + ibx: ibx + crossConnectId: crossConnectId + loas: + - href: https://openapi-generator.tech + type: CTR_LOA + uuid: uuid + - href: https://openapi-generator.tech + type: CTR_LOA + uuid: uuid + type: null + interfaceType: interfaceType + additionalInfo: + - value: value + key: key + - value: value + key: key + id: 6 + href: https://openapi-generator.tech + state: null + operation: + operationalStatus: UP + connectionCount: 4 + opStatusChangedAt: 2020-11-06T07:00:00Z + 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 + 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: + patchPanel: patchPanel + patchPanelName: patchPanelName + connectorType: connectorType + cabinetUniqueSpaceId: cabinetUniqueSpaceId + patchPanelPortB: patchPanelPortB + patchPanelPortA: patchPanelPortA + cageUniqueSpaceId: cageUniqueSpaceId + ibx: ibx + tether: + patchPanel: patchPanel + systemName: systemName + patchPanelPortB: patchPanelPortB + patchPanelPortA: patchPanelPortA + cabinetNumber: cabinetNumber + ibx: ibx + crossConnectId: crossConnectId + loas: + - href: https://openapi-generator.tech + type: CTR_LOA + uuid: uuid + - href: https://openapi-generator.tech + type: CTR_LOA + uuid: uuid + type: null + interfaceType: interfaceType + additionalInfo: + - value: value + key: key + - value: value + key: key + id: 6 + href: https://openapi-generator.tech + state: null + operation: + operationalStatus: UP + connectionCount: 4 + opStatusChangedAt: 2020-11-06T07:00:00Z account: resellerOrgId: 5 organizationName: organizationName @@ -27163,24 +29908,40 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 - notifications: - - registeredUsers: - - registeredUsers - - registeredUsers - type: NOTIFICATION - - registeredUsers: - - registeredUsers - - registeredUsers - type: NOTIFICATION + 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 properties: data: + description: add physical ports to virtual port items: - $ref: '#/components/schemas/Port' + $ref: '#/components/schemas/PhysicalPort' type: array type: object - BulkPhysicalPort: - description: Add to Lag request + AllPhysicalPortsResponse: + description: GET All Physical Ports example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 data: - demarcationPoint: patchPanel: patchPanel @@ -27321,14 +30082,580 @@ components: startDate: startDate uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + description: GET All Physical Ports + items: + $ref: '#/components/schemas/PhysicalPort' + type: array + type: object + LinkProtocolGetResponse: + 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: null + 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: https://openapi-generator.tech + type: EVPL_VC + uuid: cd67f685-41b0-1b07-6de0-320a5c00abe + state: null + vlanTagMax: 200 + serviceToken: + bandwidth: 1000 + href: https://openapi-generator.tech + 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: null + 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: https://openapi-generator.tech + type: EVPL_VC + uuid: cd67f685-41b0-1b07-6de0-320a5c00abe + state: null + vlanTagMax: 200 + serviceToken: + bandwidth: 1000 + href: https://openapi-generator.tech + type: TOKEN + uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe + vlanCTagMax: 200 + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + items: + $ref: '#/components/schemas/LinkProtocolResponse' + type: array + type: object + PortV4SearchRequest: + description: Search requests containing criteria + example: + filter: + or: + - null + - null + and: + - null + - null + values: + - values + - values + property: null + operator: = + pagination: + offset: 0 + limit: 1 + sort: + - property: null + direction: null + - property: null + direction: null + properties: + filter: + $ref: '#/components/schemas/PortExpression' + pagination: + $ref: '#/components/schemas/PaginationRequest' + sort: + items: + $ref: '#/components/schemas/PortSortCriteria' + type: array + type: object + PortExpression: + example: + or: + - null + - null + and: + - null + - null + values: + - values + - values + property: null + operator: = + properties: + and: + items: + $ref: '#/components/schemas/PortExpression' + type: array + or: + items: + $ref: '#/components/schemas/PortExpression' + type: array + property: + $ref: '#/components/schemas/PortSearchFieldName' + operator: + enum: + - = + type: string + values: + items: + type: string + type: array + type: object + PortExpressions: + items: + $ref: '#/components/schemas/PortExpression' + type: array + PortSearchFieldName: + description: Possible field names to use on filters + enum: + - /project/projectId + - /settings/productCode + - /state + type: string + PortSortCriteria: + example: + property: null + direction: null + properties: + direction: + $ref: '#/components/schemas/PortSortDirection' + property: + $ref: '#/components/schemas/PortSortBy' + type: object + GetAllConnectionRouteFiltersResponse: + 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 + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + description: List of Route Filters attached to a Connection + items: + $ref: '#/components/schemas/ConnectionRouteFilterData' + type: array + type: object + RouteFilterId: + description: Route Filters UUID + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: string + ConnectionRouteFilterData: + 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 + properties: + href: + description: Route Filter URI + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + format: uri + type: string + type: + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + type: string + uuid: + description: Route Filter identifier + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + format: uuid + type: string + attachmentStatus: + enum: + - ATTACHING + - ATTACHED + - DETACHED + - DETACHING + - FAILED + type: string + direction: + enum: + - INBOUND + - OUTBOUND + type: string + type: object + ConnectionRouteFiltersBase: + example: + direction: INBOUND + properties: + direction: + description: Route Filter direction to attach to a connection + enum: + - INBOUND + - OUTBOUND + type: string + type: object + RouteFiltersBase: + example: + name: My-direct-route-1 + description: description + project: + projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5 + type: BGP_IPv4_PREFIX_FILTER + notifications: + - emails: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + properties: + type: + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + type: string + name: + example: My-direct-route-1 + type: string + description: + description: Customer-provided connection description + type: string + project: + $ref: '#/components/schemas/Project' + notifications: + description: Preferences for notifications on route filter configuration + or status changes + items: + $ref: '#/components/schemas/SimplifiedNotification' + type: array + type: object + RouteFiltersData: + example: + change: + href: https://openapi-generator.tech + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: uuid + name: My-direct-route-1 + description: description + project: null + 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: null + type: BGP_IPv4_PREFIX_FILTER + notMatchedRuleAction: ALLOW + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + connectionsCount: 0 + notifications: + - emails: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + properties: + href: + description: Route Filter URI + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + format: uri + type: string + type: + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + type: string + uuid: + description: Route Filter identifier + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + format: uuid + type: string + name: + example: My-direct-route-1 + type: string + description: + description: Customer-provided connection description + type: string + state: + $ref: '#/components/schemas/RouteFilterState' + change: + $ref: '#/components/schemas/RouteFiltersChange' + notMatchedRuleAction: + enum: + - ALLOW + - DENY + type: string + connectionsCount: + example: 0 + type: integer + project: + $ref: '#/components/schemas/RouteFiltersData_project' + notifications: + description: Preferences for notifications on route filter configuration + or status changes + items: + $ref: '#/components/schemas/SimplifiedNotification' + type: array + changelog: + $ref: '#/components/schemas/Changelog' + type: object + RouteFiltersPatchRequest: + description: Patch Route Filters request + items: + $ref: '#/components/schemas/ConnectionChangeOperation' + minItems: 1 + type: array + RouteFilterChangeDataResponse: + description: List of Route Filter changes + example: + pagination: + next: next + total: 0 + offset: 0 + previous: previous + limit: 0 + data: + - 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: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - emails + - 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: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - emails + - 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 + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + items: + $ref: '#/components/schemas/RouteFilterChangeData' + type: array + type: object + ChangeId_1: + description: Route Filters Change UUID + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + format: uuid + type: string + RouteFilterChangeData: + allOf: + - $ref: '#/components/schemas/RouteFiltersChange' + 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: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - emails + - 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 + properties: + status: + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + type: string + createdBy: + description: Created by User Key + type: string + createdDateTime: + description: Set when change flow starts + format: date-time + type: string + updatedBy: + description: Updated by User Key + type: string + updatedDateTime: + description: Set when change object is updated + format: date-time + type: string + information: + description: Additional information + type: string data: - description: add physical ports to virtual port - items: - $ref: '#/components/schemas/PhysicalPort' - type: array + $ref: '#/components/schemas/RouteFiltersChangeOperation' type: object - AllPhysicalPortsResponse: - description: GET All Physical Ports + GetRouteFilterGetConnectionsResponse: example: pagination: next: next @@ -27337,155 +30664,24 @@ components: previous: previous limit: 0 data: - - demarcationPoint: - patchPanel: patchPanel - patchPanelName: patchPanelName - connectorType: connectorType - cabinetUniqueSpaceId: cabinetUniqueSpaceId - patchPanelPortB: patchPanelPortB - patchPanelPortA: patchPanelPortA - cageUniqueSpaceId: cageUniqueSpaceId - ibx: ibx - tether: - patchPanel: patchPanel - systemName: systemName - patchPanelPortB: patchPanelPortB - patchPanelPortA: patchPanelPortA - cabinetNumber: cabinetNumber - ibx: ibx - crossConnectId: crossConnectId - loas: - - href: https://openapi-generator.tech - type: CTR_LOA - uuid: uuid - - href: https://openapi-generator.tech - type: CTR_LOA - uuid: uuid + - name: connection-1 + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f type: null - interfaceType: interfaceType - additionalInfo: - - value: value - key: key - - value: value - key: key - id: 6 - href: https://openapi-generator.tech - state: null - operation: - operationalStatus: UP - connectionCount: 4 - opStatusChangedAt: 2020-11-06T07:00:00Z - 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 - 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: - patchPanel: patchPanel - patchPanelName: patchPanelName - connectorType: connectorType - cabinetUniqueSpaceId: cabinetUniqueSpaceId - patchPanelPortB: patchPanelPortB - patchPanelPortA: patchPanelPortA - cageUniqueSpaceId: cageUniqueSpaceId - ibx: ibx - tether: - patchPanel: patchPanel - systemName: systemName - patchPanelPortB: patchPanelPortB - patchPanelPortA: patchPanelPortA - cabinetNumber: cabinetNumber - ibx: ibx - crossConnectId: crossConnectId - loas: - - href: https://openapi-generator.tech - type: CTR_LOA - uuid: uuid - - href: https://openapi-generator.tech - type: CTR_LOA - uuid: uuid + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + - name: connection-1 + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f type: null - interfaceType: interfaceType - additionalInfo: - - value: value - key: key - - value: value - key: key - id: 6 - href: https://openapi-generator.tech - state: null - operation: - operationalStatus: UP - connectionCount: 4 - opStatusChangedAt: 2020-11-06T07:00:00Z - 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 - 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 + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d properties: pagination: $ref: '#/components/schemas/Pagination' data: - description: GET All Physical Ports + description: List of Connections using a Route Filter items: - $ref: '#/components/schemas/PhysicalPort' + $ref: '#/components/schemas/RouteFilterConnectionsData' type: array type: object - LinkProtocolGetResponse: - description: List of Vlans + GetRouteFilterRulesResponse: example: pagination: next: next @@ -27494,9 +30690,15 @@ components: previous: previous limit: 0 data: - - vlanTag: 20 - vlanCTag: 20 - changeLog: + - prefix: 192.168.0.0/24 + change: + href: https://openapi-generator.tech + 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 @@ -27509,36 +30711,19 @@ components: deletedBy: johnsmith deletedByEmail: john.smith@example.com updatedDateTime: 2020-11-06T07:00:00Z - type: null - 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: https://openapi-generator.tech - type: EVPL_VC - uuid: cd67f685-41b0-1b07-6de0-320a5c00abe - state: null - 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: https://openapi-generator.tech - 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 @@ -27551,127 +30736,222 @@ components: deletedBy: johnsmith deletedByEmail: john.smith@example.com updatedDateTime: 2020-11-06T07:00:00Z - type: null - 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: https://openapi-generator.tech - type: EVPL_VC - uuid: cd67f685-41b0-1b07-6de0-320a5c00abe - state: null - vlanTagMax: 200 - serviceToken: - bandwidth: 1000 - href: https://openapi-generator.tech - type: TOKEN - uuid: cd67f685-41b0-1b07-6de0-0320a5c00abe - vlanCTagMax: 200 + 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 properties: pagination: $ref: '#/components/schemas/Pagination' data: + description: List of Route Filter Rules items: - $ref: '#/components/schemas/LinkProtocolResponse' + $ref: '#/components/schemas/RouteFilterRulesData' type: array type: object - PortV4SearchRequest: - description: Search requests containing criteria + RouteFilterRulesBase: + example: + prefix: 192.168.0.0/24 + name: Private-subnet-filter + description: description + prefixMatch: orlonger + properties: + name: + example: Private-subnet-filter + type: string + description: + description: Customer-provided Route Filter Rule description + type: string + prefix: + example: 192.168.0.0/24 + type: string + prefixMatch: + default: orlonger + example: orlonger + type: string + type: object + RouteFilterRulesData: + example: + prefix: 192.168.0.0/24 + change: + href: https://openapi-generator.tech + 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 + properties: + href: + description: Route Filter Rules URI + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + format: uri + type: string + type: + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER_RULE + - BGP_IPv6_PREFIX_FILTER_RULE + type: string + uuid: + description: Route Filter Rule identifier + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + format: uuid + type: string + name: + example: Private-subnet-filter-2 + type: string + description: + description: Customer-provided Route Filter Rule description + type: string + prefixMatch: + default: orlonger + description: prefix matching operator + example: exact + type: string + change: + $ref: '#/components/schemas/RouteFilterRulesChange' + action: + enum: + - PERMIT + - DENY + type: string + prefix: + example: 192.168.0.0/24 + type: string + changelog: + $ref: '#/components/schemas/Changelog' + type: object + RouteFilterRuleId: + description: Route Filter Rule UUID + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + type: string + RouteFilterRulesPatchRequest: + description: Patch Route Filters Rule request + items: + $ref: '#/components/schemas/RouteFilterChangePrefixMatch' + minItems: 1 + type: array + RouteFilterRulesChangeDataResponse: + description: List of Route Filter Rule changes example: - filter: - or: - - null - - null - and: - - null - - null - values: - - values - - values - property: null - operator: = pagination: + next: next + total: 0 offset: 0 - limit: 1 - sort: - - property: null - direction: null - - property: null - direction: null + 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 properties: - filter: - $ref: '#/components/schemas/PortExpression' pagination: - $ref: '#/components/schemas/PaginationRequest' - sort: + $ref: '#/components/schemas/Pagination' + data: items: - $ref: '#/components/schemas/PortSortCriteria' + $ref: '#/components/schemas/RouteFilterRulesChangeData' type: array type: object - PortExpression: + ChangeId_2: + description: Route Filter Rule Change UUID + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + format: uuid + type: string + RouteFilterRulesChangeData: + allOf: + - $ref: '#/components/schemas/RouteFilterRulesChange' + description: Current state of latest Route Filter Rules change example: - or: - - null - - null - and: - - null - - null - values: - - values - - values - property: null - operator: = + 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 properties: - and: - items: - $ref: '#/components/schemas/PortExpression' - type: array - or: - items: - $ref: '#/components/schemas/PortExpression' - type: array - property: - $ref: '#/components/schemas/PortSearchFieldName' - operator: + status: + description: Current outcome of the change flow enum: - - = + - COMPLETED + - FAILED + - REQUESTED type: string - values: - items: - type: string - type: array + createdBy: + description: Created by User Key + type: string + createdDateTime: + description: Set when change flow starts + format: date-time + type: string + updatedBy: + description: Updated by User Key + type: string + updatedDateTime: + description: Set when change object is updated + format: date-time + type: string + data: + $ref: '#/components/schemas/RouteFilterRulesChangeOperation' type: object - PortExpressions: - items: - $ref: '#/components/schemas/PortExpression' - type: array - PortSearchFieldName: - description: Possible field names to use on filters - enum: - - /project/projectId - - /settings/productCode - - /state - type: string - PortSortCriteria: + RouteFilterRulesPostRequest: + description: Create Route Filter Rule POST request example: - property: null - direction: null + data: + - prefix: 192.168.0.0/24 + name: Private-subnet-filter + description: description + prefixMatch: orlonger + - prefix: 192.168.0.0/24 + name: Private-subnet-filter + description: description + prefixMatch: orlonger properties: - direction: - $ref: '#/components/schemas/PortSortDirection' - property: - $ref: '#/components/schemas/PortSortBy' + data: + description: Route Filter Rule configuration + items: + $ref: '#/components/schemas/RouteFilterRulesBase' + type: array type: object CloudRouterPostRequest: description: Create Cloud Router @@ -28101,8 +31381,8 @@ components: $ref: '#/components/schemas/RouteTableEntry' type: array type: object - ValidateSubnetRequest: - description: Validate subnet for Routing Protocol Configuration + ValidateRequest: + description: Validate connection auth api key or vlan example: filter: and: @@ -28118,7 +31398,7 @@ components: operator: operator properties: filter: - $ref: '#/components/schemas/ValidateSubnetRequest_filter' + $ref: '#/components/schemas/ValidateRequest_filter' type: object ValidateSubnetResponse: description: ValidateResponse @@ -28404,7 +31684,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM type: string CloudRouterPackage: @@ -28534,25 +31814,6 @@ components: apiServices: $ref: '#/components/schemas/ApiServices' type: object - ValidateConnectionRequest: - description: Validate connection auth api key or vlan - example: - filter: - and: - - values: - - values - - values - property: property - operator: operator - - values: - - values - - values - property: property - operator: operator - properties: - filter: - $ref: '#/components/schemas/ValidateSubnetRequest_filter' - type: object ConnectionResponse: description: ValidateResponse example: @@ -28778,6 +32039,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -28787,6 +32049,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -28812,9 +32075,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -28871,6 +32135,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -29156,10 +32423,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -29411,6 +32678,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -29420,6 +32688,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -29445,9 +32714,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -29504,6 +32774,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -29789,10 +33062,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -30089,6 +33362,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -30098,6 +33372,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -30123,9 +33398,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -30182,6 +33458,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -30467,10 +33746,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -30722,6 +34001,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -30731,6 +34011,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -30756,9 +34037,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -30815,6 +34097,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -31100,10 +34385,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -31693,6 +34978,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -31702,6 +34988,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -31727,9 +35014,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -31786,6 +35074,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -32071,10 +35362,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -32326,6 +35617,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -32335,6 +35627,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -32360,9 +35653,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -32419,6 +35713,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -32704,10 +36001,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -33004,6 +36301,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -33013,6 +36311,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -33038,9 +36337,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -33097,6 +36397,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -33382,10 +36685,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion change: data: @@ -33637,6 +36940,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -33646,6 +36950,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -33671,9 +36976,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -33730,6 +37036,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -34015,10 +37324,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion name: name additionalInfo: @@ -34146,7 +37455,7 @@ components: $ref: '#/components/schemas/NetworkChange' type: array type: object - ChangeId_1: + ChangeId_3: description: Network Change UUID example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 format: uuid @@ -34407,142 +37716,6 @@ components: - type title: precisionTimeServiceRequest type: object - precisionTimeServiceConnectionsResponse: - 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 - properties: - pagination: - $ref: '#/components/schemas/Pagination' - data: - description: Data returned from the API call - items: - $ref: '#/components/schemas/connectionLink' - type: array - title: precisionTimeServiceConnectionResponse - type: object - precisionTimeServicePackagesResponse: - 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 - properties: - pagination: - $ref: '#/components/schemas/Pagination' - data: - description: Data returned from the API call - items: - $ref: '#/components/schemas/PackageResponse' - type: array - title: precisionTimeServicePackagesResponse - type: object ConnectionType: description: Connection type enum: @@ -34850,6 +38023,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -34859,6 +38033,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -34884,9 +38059,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -34943,6 +38119,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -35228,10 +38407,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion properties: serviceToken: @@ -35809,6 +38988,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -35818,6 +38998,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -35843,9 +39024,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -35902,6 +39084,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -36187,10 +39372,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion properties: zSide: @@ -37211,6 +40396,207 @@ components: enum: - /device/name type: string + RouteFilterState: + description: Route Filter status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + type: string + RouteFiltersChange: + description: Current state of latest Route Filter change + example: + href: https://openapi-generator.tech + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: uuid + properties: + uuid: + description: Uniquely identifies a change + type: string + type: + 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 + type: string + href: + description: Route Filter Change URI + format: uri + type: string + required: + - type + - uuid + type: object + RouteFiltersChangeOperation: + 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: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + - emails: + - emails + - emails + sendInterval: sendInterval + registeredUsers: + - registeredUsers + - registeredUsers + type: BANDWIDTH_ALERT + properties: + op: + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + type: string + path: + description: path inside document leading to updated parameter + example: / + type: string + value: + $ref: '#/components/schemas/RouteFiltersBase' + required: + - op + - path + - value + type: object + RouteFilterConnectionsData: + example: + name: connection-1 + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: null + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + properties: + href: + description: Connection URI + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + format: uri + type: string + type: + $ref: '#/components/schemas/ConnectionType' + uuid: + description: Route Filter identifier + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + format: uuid + type: string + name: + example: connection-1 + type: string + type: object + RouteFilterRulesChange: + description: Current state of latest Route Filter Rule change + example: + href: https://openapi-generator.tech + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: uuid + properties: + uuid: + description: Uniquely identifies a change + type: string + type: + 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 + type: string + href: + description: Route Filter Change URI + format: uri + type: string + required: + - type + - uuid + type: object + RouteFilterChangePrefixMatch: + description: Route Filter Rule change operation data + example: + op: replace + path: /prefixMatch + value: "{}" + properties: + op: + description: Handy shortcut for operation name + example: replace + type: string + path: + description: path to change + example: /prefixMatch + type: string + value: + description: new value for updated parameter + type: object + required: + - op + - path + - value + type: object + RouteFilterRulesChangeOperation: + description: Route Filter change operation data + example: + prefix: prefix + name: Private-subnet-filter + description: description + action: PERMIT + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + properties: + name: + description: name of route filter rule + example: Private-subnet-filter + type: string + description: + description: cust provided description + type: string + type: + 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 + type: string + prefix: + description: given prefix (does not change) + type: string + action: + description: change to be made + enum: + - PERMIT + - DENY + type: string + required: + - action + - name + - prefix + - type + type: object SimplifiedLocationWithoutIBX: example: metroName: Amsterdam @@ -37256,7 +40642,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM example: LAB type: string @@ -37424,7 +40810,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM example: LAB type: string @@ -37694,24 +41080,6 @@ components: - code title: package type: object - connectionLink: - example: - href: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - type: EVPL_VC - uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - properties: - href: - example: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections - format: uri - type: string - type: - enum: - - EVPL_VC - type: string - uuid: - format: uuid - type: string - type: object ConnectionPriority: description: Connection priority in redundancy group enum: @@ -37836,6 +41204,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -37845,6 +41214,7 @@ components: ibxs: - ibxs - ibxs + vcBandwidthMax: 1 displayName: displayName name: name inTrail: true @@ -37870,9 +41240,10 @@ components: type: null interface: href: https://openapi-generator.tech - 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 @@ -37929,6 +41300,9 @@ components: accountNumber: 0 globalCustId: globalCustId orgId: 6 + virtualNetwork: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 router: bgpIpv4RoutesCount: 0 equinixAsn: 30000 @@ -38214,10 +41588,10 @@ components: orgId: 6 peeringType: null linkProtocol: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 sellerRegion: sellerRegion properties: type: @@ -38251,6 +41625,8 @@ components: providerConnectionId: description: Provider assigned Connection Id type: string + virtualNetwork: + $ref: '#/components/schemas/VirtualNetwork' type: object ConnectionCompanyProfile: description: Connection Company Profile Details @@ -38796,6 +42172,7 @@ components: - SUBNET - CLOUD_ROUTER - NETWORK + - METAL_NETWORK type: string SimplifiedPort: description: Port specification @@ -39126,10 +42503,10 @@ components: SimplifiedLinkProtocol: description: Connection link protocol Configuration example: - vlanTag: 2735 - vlanCTag: 3690 + vlanTag: 3585 + vlanCTag: 2635 type: null - vlanSTag: 3585 + vlanSTag: 3690 properties: type: $ref: '#/components/schemas/LinkProtocolType' @@ -39191,31 +42568,35 @@ components: $ref: '#/components/schemas/SimplifiedAccount' type: object Interface: - description: Virtual Device Interface Information + description: Interface Information example: href: https://openapi-generator.tech - id: 6 + id: 3 type: CLOUD uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + projectId: projectId properties: href: - description: Virtual Interface URI + description: Interface URI format: uri readOnly: true type: string uuid: - description: Equinix-assigned Virtual Device Interface identifier + description: Equinix-assigned Interface identifier format: uuid type: string id: description: Interface id type: integer type: - description: Virtual Device Interface type + description: Interface type enum: - CLOUD - NETWORK type: string + projectId: + description: Interface Project ID + type: string type: object SimplifiedNetwork: description: Network specification @@ -39324,6 +42705,22 @@ components: - PUBLIC - MANUAL type: string + VirtualNetwork: + description: Virtual Network Information + example: + href: https://openapi-generator.tech + uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + properties: + href: + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + type: string + uuid: + description: Equinix-assigned Virtual Network identifier + format: uuid + type: string + type: object VirtualConnectionPriceConnectionType: description: Virtual Connection type enum: @@ -39503,6 +42900,7 @@ components: - DOT1Q - QINQ - EVPN_VXLAN + - VXLAN type: string VirtualConnectionPriceAccessPointType: description: Virtual Connection access point type @@ -39525,7 +42923,7 @@ components: enum: - LAB - BASIC - - PRO + - STANDARD - PREMIUM type: string ConnectivitySourceType: @@ -39565,12 +42963,14 @@ components: UNTAGGED: '#/components/schemas/LinkProtocolUntagged' DOT1Q: '#/components/schemas/LinkProtocolDot1q' QINQ: '#/components/schemas/LinkProtocolQinq' + VXLAN: '#/components/schemas/LinkProtocolVxlan' EVPN_VXLAN: '#/components/schemas/LinkProtocolEvpnVxlan' propertyName: type oneOf: - $ref: '#/components/schemas/LinkProtocolUntagged' - $ref: '#/components/schemas/LinkProtocolDot1q' - $ref: '#/components/schemas/LinkProtocolQinq' + - $ref: '#/components/schemas/LinkProtocolVxlan' - $ref: '#/components/schemas/LinkProtocolEvpnVxlan' required: - type @@ -39637,6 +43037,19 @@ components: - vlanCTag - vlanSTag type: object + LinkProtocolVxlan: + description: Connection link protocol configuration - VXLAN + properties: + type: + $ref: '#/components/schemas/LinkProtocolType' + vni: + description: Virtual Network Identifier + maximum: 16777215 + minimum: 4097 + type: integer + required: + - vni + type: object LinkProtocolEvpnVxlan: description: Connection link protocol configuration - EVPN_VXLAN properties: @@ -39677,7 +43090,7 @@ components: reason: type: string type: object - ValidateSubnetRequest_filter_and: + ValidateRequest_filter_and: example: values: - values @@ -39696,7 +43109,7 @@ components: items: type: string type: array - ValidateSubnetRequest_filter: + ValidateRequest_filter: description: Filters example: and: @@ -39713,7 +43126,7 @@ components: properties: and: items: - $ref: '#/components/schemas/ValidateSubnetRequest_filter_and' + $ref: '#/components/schemas/ValidateRequest_filter_and' type: array type: object PortOrder_purchaseOrder: @@ -39885,6 +43298,18 @@ components: bridge: $ref: '#/components/schemas/VirtualConnectionPriceZSide_accessPoint_bridge' type: object + RouteFiltersData_project_allOf: + properties: + href: + description: Project URI + example: https://api.equinix.com/resourceManager/v1/projects/567 + format: uri + type: string + type: object + RouteFiltersData_project: + allOf: + - $ref: '#/components/schemas/Project' + - $ref: '#/components/schemas/RouteFiltersData_project_allOf' Network_allOf: properties: href: diff --git a/equinix-openapi-fabric/build.gradle b/equinix-openapi-fabric/build.gradle index 944289d9..3330f38a 100644 --- a/equinix-openapi-fabric/build.gradle +++ b/equinix-openapi-fabric/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'java' apply plugin: 'com.diffplug.spotless' group = 'com.equinix' -version = '0.4.0' +version = '0.5.0' buildscript { repositories { diff --git a/equinix-openapi-fabric/build.sbt b/equinix-openapi-fabric/build.sbt index 51d888bb..27d26644 100644 --- a/equinix-openapi-fabric/build.sbt +++ b/equinix-openapi-fabric/build.sbt @@ -2,7 +2,7 @@ lazy val root = (project in file(".")). settings( organization := "com.equinix", name := "equinix-openapi-fabric", - version := "0.4.0", + version := "0.5.0", scalaVersion := "2.11.4", scalacOptions ++= Seq("-feature"), javacOptions in compile ++= Seq("-Xlint:deprecation"), diff --git a/equinix-openapi-fabric/docs/AccessPoint.md b/equinix-openapi-fabric/docs/AccessPoint.md index 09a43009..6b2e5c16 100644 --- a/equinix-openapi-fabric/docs/AccessPoint.md +++ b/equinix-openapi-fabric/docs/AccessPoint.md @@ -22,6 +22,7 @@ Access point object |**peeringType** | **PeeringType** | | [optional] | |**authenticationKey** | **String** | Access point authentication key | [optional] | |**providerConnectionId** | **String** | Provider assigned Connection Id | [optional] | +|**virtualNetwork** | [**VirtualNetwork**](VirtualNetwork.md) | | [optional] | diff --git a/equinix-openapi-fabric/docs/AccessPointType.md b/equinix-openapi-fabric/docs/AccessPointType.md index 97ee9d43..fa925f39 100644 --- a/equinix-openapi-fabric/docs/AccessPointType.md +++ b/equinix-openapi-fabric/docs/AccessPointType.md @@ -21,5 +21,7 @@ * `NETWORK` (value: `"NETWORK"`) +* `METAL_NETWORK` (value: `"METAL_NETWORK"`) + diff --git a/equinix-openapi-fabric/docs/CloudRouterPackageType.md b/equinix-openapi-fabric/docs/CloudRouterPackageType.md index c13d7f46..5246668c 100644 --- a/equinix-openapi-fabric/docs/CloudRouterPackageType.md +++ b/equinix-openapi-fabric/docs/CloudRouterPackageType.md @@ -28,7 +28,7 @@ Fabric Cloud Router Package Type |---- | -----| | LAB | "LAB" | | BASIC | "BASIC" | -| PRO | "PRO" | +| STANDARD | "STANDARD" | | PREMIUM | "PREMIUM" | diff --git a/equinix-openapi-fabric/docs/CloudRoutersApi.md b/equinix-openapi-fabric/docs/CloudRoutersApi.md index a0ff772f..092a087e 100644 --- a/equinix-openapi-fabric/docs/CloudRoutersApi.md +++ b/equinix-openapi-fabric/docs/CloudRoutersApi.md @@ -427,7 +427,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **routerPackageCode** | [**RouterPackageCode**](.md)| Equinix-assigned Cloud Router package identifier | [enum: LAB, BASIC, PRO, PREMIUM] | +| **routerPackageCode** | [**RouterPackageCode**](.md)| Equinix-assigned Cloud Router package identifier | [enum: LAB, BASIC, STANDARD, PREMIUM] | ### Return type diff --git a/equinix-openapi-fabric/docs/Code.md b/equinix-openapi-fabric/docs/Code.md index 17a40436..f2dcad25 100644 --- a/equinix-openapi-fabric/docs/Code.md +++ b/equinix-openapi-fabric/docs/Code.md @@ -9,7 +9,7 @@ * `BASIC` (value: `"BASIC"`) -* `PRO` (value: `"PRO"`) +* `STANDARD` (value: `"STANDARD"`) * `PREMIUM` (value: `"PREMIUM"`) diff --git a/equinix-openapi-fabric/docs/ConnectionLink.md b/equinix-openapi-fabric/docs/ConnectionLink.md deleted file mode 100644 index d6a5f179..00000000 --- a/equinix-openapi-fabric/docs/ConnectionLink.md +++ /dev/null @@ -1,23 +0,0 @@ - - -# ConnectionLink - - -## Properties - -| Name | Type | Description | Notes | -|------------ | ------------- | ------------- | -------------| -|**href** | **URI** | | [optional] | -|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | -|**uuid** | **UUID** | | [optional] | - - - -## Enum: TypeEnum - -| Name | Value | -|---- | -----| -| EVPL_VC | "EVPL_VC" | - - - diff --git a/equinix-openapi-fabric/docs/ConnectionRouteFilterData.md b/equinix-openapi-fabric/docs/ConnectionRouteFilterData.md new file mode 100644 index 00000000..f7e0e4bd --- /dev/null +++ b/equinix-openapi-fabric/docs/ConnectionRouteFilterData.md @@ -0,0 +1,47 @@ + + +# ConnectionRouteFilterData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**href** | **URI** | Route Filter URI | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | Route Filter type | [optional] | +|**uuid** | **UUID** | Route Filter identifier | [optional] | +|**attachmentStatus** | [**AttachmentStatusEnum**](#AttachmentStatusEnum) | | [optional] | +|**direction** | [**DirectionEnum**](#DirectionEnum) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER | "BGP_IPv4_PREFIX_FILTER" | +| IPV6_PREFIX_FILTER | "BGP_IPv6_PREFIX_FILTER" | + + + +## Enum: AttachmentStatusEnum + +| Name | Value | +|---- | -----| +| ATTACHING | "ATTACHING" | +| ATTACHED | "ATTACHED" | +| DETACHED | "DETACHED" | +| DETACHING | "DETACHING" | +| FAILED | "FAILED" | + + + +## Enum: DirectionEnum + +| Name | Value | +|---- | -----| +| INBOUND | "INBOUND" | +| OUTBOUND | "OUTBOUND" | + + + diff --git a/equinix-openapi-fabric/docs/ConnectionRouteFiltersBase.md b/equinix-openapi-fabric/docs/ConnectionRouteFiltersBase.md new file mode 100644 index 00000000..5505fe4e --- /dev/null +++ b/equinix-openapi-fabric/docs/ConnectionRouteFiltersBase.md @@ -0,0 +1,22 @@ + + +# ConnectionRouteFiltersBase + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**direction** | [**DirectionEnum**](#DirectionEnum) | Route Filter direction to attach to a connection | [optional] | + + + +## Enum: DirectionEnum + +| Name | Value | +|---- | -----| +| INBOUND | "INBOUND" | +| OUTBOUND | "OUTBOUND" | + + + diff --git a/equinix-openapi-fabric/docs/ConnectionsApi.md b/equinix-openapi-fabric/docs/ConnectionsApi.md index 911ee21c..91585525 100644 --- a/equinix-openapi-fabric/docs/ConnectionsApi.md +++ b/equinix-openapi-fabric/docs/ConnectionsApi.md @@ -446,7 +446,7 @@ public class Example { # **validateConnections** -> ConnectionResponse validateConnections(validateConnectionRequest) +> ConnectionResponse validateConnections(validateRequest) Validate Connection @@ -472,9 +472,9 @@ public class Example { BearerAuth.setBearerToken("BEARER TOKEN"); ConnectionsApi apiInstance = new ConnectionsApi(defaultClient); - ValidateConnectionRequest validateConnectionRequest = new ValidateConnectionRequest(); // ValidateConnectionRequest | + ValidateRequest validateRequest = new ValidateRequest(); // ValidateRequest | try { - ConnectionResponse result = apiInstance.validateConnections(validateConnectionRequest); + ConnectionResponse result = apiInstance.validateConnections(validateRequest); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ConnectionsApi#validateConnections"); @@ -491,7 +491,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **validateConnectionRequest** | [**ValidateConnectionRequest**](ValidateConnectionRequest.md)| | | +| **validateRequest** | [**ValidateRequest**](ValidateRequest.md)| | | ### Return type diff --git a/equinix-openapi-fabric/docs/FabricCloudRouterCode.md b/equinix-openapi-fabric/docs/FabricCloudRouterCode.md index 26428e5b..9059c4a0 100644 --- a/equinix-openapi-fabric/docs/FabricCloudRouterCode.md +++ b/equinix-openapi-fabric/docs/FabricCloudRouterCode.md @@ -9,7 +9,7 @@ * `BASIC` (value: `"BASIC"`) -* `PRO` (value: `"PRO"`) +* `STANDARD` (value: `"STANDARD"`) * `PREMIUM` (value: `"PREMIUM"`) diff --git a/equinix-openapi-fabric/docs/GetAllConnectionRouteFiltersResponse.md b/equinix-openapi-fabric/docs/GetAllConnectionRouteFiltersResponse.md new file mode 100644 index 00000000..668064b9 --- /dev/null +++ b/equinix-openapi-fabric/docs/GetAllConnectionRouteFiltersResponse.md @@ -0,0 +1,14 @@ + + +# GetAllConnectionRouteFiltersResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**pagination** | [**Pagination**](Pagination.md) | | [optional] | +|**data** | [**List<ConnectionRouteFilterData>**](ConnectionRouteFilterData.md) | List of Route Filters attached to a Connection | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/GetRouteFilterGetConnectionsResponse.md b/equinix-openapi-fabric/docs/GetRouteFilterGetConnectionsResponse.md new file mode 100644 index 00000000..65775e32 --- /dev/null +++ b/equinix-openapi-fabric/docs/GetRouteFilterGetConnectionsResponse.md @@ -0,0 +1,14 @@ + + +# GetRouteFilterGetConnectionsResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**pagination** | [**Pagination**](Pagination.md) | | [optional] | +|**data** | [**List<RouteFilterConnectionsData>**](RouteFilterConnectionsData.md) | List of Connections using a Route Filter | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/PrecisionTimeServicePackagesResponse.md b/equinix-openapi-fabric/docs/GetRouteFilterRulesResponse.md similarity index 52% rename from equinix-openapi-fabric/docs/PrecisionTimeServicePackagesResponse.md rename to equinix-openapi-fabric/docs/GetRouteFilterRulesResponse.md index aee17ebd..4ff2875e 100644 --- a/equinix-openapi-fabric/docs/PrecisionTimeServicePackagesResponse.md +++ b/equinix-openapi-fabric/docs/GetRouteFilterRulesResponse.md @@ -1,15 +1,14 @@ -# PrecisionTimeServicePackagesResponse +# GetRouteFilterRulesResponse -Precision Packages ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**pagination** | [**Pagination**](Pagination.md) | | [optional] | -|**data** | [**List<PackageResponse>**](PackageResponse.md) | Data returned from the API call | [optional] | +|**data** | [**List<RouteFilterRulesData>**](RouteFilterRulesData.md) | List of Route Filter Rules | [optional] | diff --git a/equinix-openapi-fabric/docs/LinkProtocol.md b/equinix-openapi-fabric/docs/LinkProtocol.md index 8d6044a0..5fbef4e7 100644 --- a/equinix-openapi-fabric/docs/LinkProtocol.md +++ b/equinix-openapi-fabric/docs/LinkProtocol.md @@ -22,6 +22,7 @@ Connection link protocol Configuration |**vlanCTagMin** | **Integer** | Outer tag Min value specified for QINQ connections | [optional] | |**vlanCTagMax** | **Integer** | Outer tag Max value specified for QINQ connections | [optional] | |**subInterface** | **Integer** | Subinterface identifier | [optional] | +|**vni** | **Integer** | Virtual Network Identifier | | |**vnid** | **Integer** | Virtual Network Identifier | | |**type5vni** | **Integer** | Type 5 VNI identifier | | diff --git a/equinix-openapi-fabric/docs/LinkProtocolType.md b/equinix-openapi-fabric/docs/LinkProtocolType.md index 16fdc484..0601937d 100644 --- a/equinix-openapi-fabric/docs/LinkProtocolType.md +++ b/equinix-openapi-fabric/docs/LinkProtocolType.md @@ -13,5 +13,7 @@ * `EVPN_VXLAN` (value: `"EVPN_VXLAN"`) +* `VXLAN` (value: `"VXLAN"`) + diff --git a/equinix-openapi-fabric/docs/LinkProtocolVxlan.md b/equinix-openapi-fabric/docs/LinkProtocolVxlan.md new file mode 100644 index 00000000..7680f8c3 --- /dev/null +++ b/equinix-openapi-fabric/docs/LinkProtocolVxlan.md @@ -0,0 +1,15 @@ + + +# LinkProtocolVxlan + +Connection link protocol configuration - VXLAN + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | **LinkProtocolType** | | [optional] | +|**vni** | **Integer** | Virtual Network Identifier | | + + + diff --git a/equinix-openapi-fabric/docs/ModelInterface.md b/equinix-openapi-fabric/docs/ModelInterface.md index 378aaee7..8e9130c5 100644 --- a/equinix-openapi-fabric/docs/ModelInterface.md +++ b/equinix-openapi-fabric/docs/ModelInterface.md @@ -2,16 +2,17 @@ # ModelInterface -Virtual Device Interface Information +Interface Information ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**href** | **URI** | Virtual Interface URI | [optional] [readonly] | -|**uuid** | **UUID** | Equinix-assigned Virtual Device Interface identifier | [optional] | +|**href** | **URI** | Interface URI | [optional] [readonly] | +|**uuid** | **UUID** | Equinix-assigned Interface identifier | [optional] | |**id** | **Integer** | Interface id | [optional] | -|**type** | [**TypeEnum**](#TypeEnum) | Virtual Device Interface type | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | Interface type | [optional] | +|**projectId** | **String** | Interface Project ID | [optional] | diff --git a/equinix-openapi-fabric/docs/PrecisionTimeApi.md b/equinix-openapi-fabric/docs/PrecisionTimeApi.md index f787dd2d..5593bccc 100644 --- a/equinix-openapi-fabric/docs/PrecisionTimeApi.md +++ b/equinix-openapi-fabric/docs/PrecisionTimeApi.md @@ -5,12 +5,9 @@ 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 | +| [**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 | +| [**updateTimeServicesById**](PrecisionTimeApi.md#updateTimeServicesById) | **PATCH** /fabric/v4/timeServices/{serviceId} | Patch time service | @@ -89,7 +86,7 @@ public class Example { # **deleteTimeServiceById** > PrecisionTimeServiceCreateResponse deleteTimeServiceById(serviceId) -Delete Time Service +Delete time service Delete EPT service by it's uuid @@ -150,7 +147,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | Successful operation | - | +| **202** | Successful operation | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | | **415** | Unsupported Media Type | - | @@ -221,223 +218,18 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Successful operation | - | +| **202** | Successful operation | - | | **400** | Bad request | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | | **415** | Unsupported Media Type | - | | **500** | Internal server error | - | - -# **getTimeServicesConnectionsByServiceId** -> PrecisionTimeServiceConnectionsResponse getTimeServicesConnectionsByServiceId(serviceId) - -Get all Connections - -The API provides capability to get prevision timing service's details - -### Example -```java -// Import classes: -import com.equinix.openapi.fabric.ApiClient; -import com.equinix.openapi.fabric.ApiException; -import com.equinix.openapi.fabric.Configuration; -import com.equinix.openapi.fabric.auth.*; -import com.equinix.openapi.fabric.models.*; -import com.equinix.openapi.fabric.v4.api.PrecisionTimeApi; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = Configuration.getDefaultApiClient(); - defaultClient.setBasePath("https://api.equinix.com"); - - // Configure HTTP bearer authorization: BearerAuth - HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); - BearerAuth.setBearerToken("BEARER TOKEN"); - - PrecisionTimeApi apiInstance = new PrecisionTimeApi(defaultClient); - UUID serviceId = UUID.randomUUID(); // UUID | Service UUID - try { - PrecisionTimeServiceConnectionsResponse result = apiInstance.getTimeServicesConnectionsByServiceId(serviceId); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling PrecisionTimeApi#getTimeServicesConnectionsByServiceId"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} -``` - -### Parameters - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **serviceId** | **UUID**| Service UUID | | - -### Return type - -[**PrecisionTimeServiceConnectionsResponse**](PrecisionTimeServiceConnectionsResponse.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | Return Time Service Connection | - | -| **401** | Unauthorized | - | -| **403** | Forbidden | - | -| **415** | Unsupported Media Type | - | -| **500** | Internal server error | - | - - -# **getTimeServicesPackageByCode** -> PackageResponse getTimeServicesPackageByCode(packageCode) - -Get Package by Code - -The API provides capability to get timing service's package by code - -### Example -```java -// Import classes: -import com.equinix.openapi.fabric.ApiClient; -import com.equinix.openapi.fabric.ApiException; -import com.equinix.openapi.fabric.Configuration; -import com.equinix.openapi.fabric.auth.*; -import com.equinix.openapi.fabric.models.*; -import com.equinix.openapi.fabric.v4.api.PrecisionTimeApi; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = Configuration.getDefaultApiClient(); - defaultClient.setBasePath("https://api.equinix.com"); - - // Configure HTTP bearer authorization: BearerAuth - HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); - BearerAuth.setBearerToken("BEARER TOKEN"); - - PrecisionTimeApi apiInstance = new PrecisionTimeApi(defaultClient); - String packageCode = "NTP_STANDARD"; // String | Package Code - try { - PackageResponse result = apiInstance.getTimeServicesPackageByCode(packageCode); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling PrecisionTimeApi#getTimeServicesPackageByCode"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} -``` - -### Parameters - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **packageCode** | **String**| Package Code | [enum: NTP_STANDARD, NTP_ENTERPRISE, PTP_STANDARD, PTP_ENTERPRISE] | - -### Return type - -[**PackageResponse**](PackageResponse.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | Successful operation | - | -| **415** | Unsupported Media Type | - | -| **500** | Internal server error | - | - - -# **getTimeServicesPackages** -> PrecisionTimeServicePackagesResponse getTimeServicesPackages() - -Get Packages - -The API provides capability to get timing service's packages - -### Example -```java -// Import classes: -import com.equinix.openapi.fabric.ApiClient; -import com.equinix.openapi.fabric.ApiException; -import com.equinix.openapi.fabric.Configuration; -import com.equinix.openapi.fabric.auth.*; -import com.equinix.openapi.fabric.models.*; -import com.equinix.openapi.fabric.v4.api.PrecisionTimeApi; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = Configuration.getDefaultApiClient(); - defaultClient.setBasePath("https://api.equinix.com"); - - // Configure HTTP bearer authorization: BearerAuth - HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); - BearerAuth.setBearerToken("BEARER TOKEN"); - - PrecisionTimeApi apiInstance = new PrecisionTimeApi(defaultClient); - try { - PrecisionTimeServicePackagesResponse result = apiInstance.getTimeServicesPackages(); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling PrecisionTimeApi#getTimeServicesPackages"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} -``` - -### 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 - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | Successful operation | - | -| **415** | Unsupported Media Type | - | -| **500** | Internal server error | - | - # **updateTimeServicesById** > PrecisionTimeServiceCreateResponse updateTimeServicesById(serviceId, precisionTimeChangeOperation) -Patch Time Service +Patch time service The API provides capability to update timing service @@ -500,7 +292,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Successful operation | - | +| **202** | Successful operation | - | | **400** | Bad request | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | diff --git a/equinix-openapi-fabric/docs/PrecisionTimeServiceConnectionsResponse.md b/equinix-openapi-fabric/docs/PrecisionTimeServiceConnectionsResponse.md deleted file mode 100644 index 0dfa37e8..00000000 --- a/equinix-openapi-fabric/docs/PrecisionTimeServiceConnectionsResponse.md +++ /dev/null @@ -1,15 +0,0 @@ - - -# PrecisionTimeServiceConnectionsResponse - -EPT service instance's L2 connections - -## Properties - -| Name | Type | Description | Notes | -|------------ | ------------- | ------------- | -------------| -|**pagination** | [**Pagination**](Pagination.md) | | [optional] | -|**data** | [**List<ConnectionLink>**](ConnectionLink.md) | Data returned from the API call | [optional] | - - - diff --git a/equinix-openapi-fabric/docs/RouteFilterChangeData.md b/equinix-openapi-fabric/docs/RouteFilterChangeData.md new file mode 100644 index 00000000..eb4f2b31 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterChangeData.md @@ -0,0 +1,46 @@ + + +# RouteFilterChangeData + +Current state of latest Route Filter change + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**status** | [**StatusEnum**](#StatusEnum) | Current outcome of the change flow | [optional] | +|**createdBy** | **String** | Created by User Key | [optional] | +|**createdDateTime** | **OffsetDateTime** | Set when change flow starts | [optional] | +|**updatedBy** | **String** | Updated by User Key | [optional] | +|**updatedDateTime** | **OffsetDateTime** | Set when change object is updated | [optional] | +|**information** | **String** | Additional information | [optional] | +|**data** | [**RouteFiltersChangeOperation**](RouteFiltersChangeOperation.md) | | [optional] | +|**uuid** | **String** | Uniquely identifies a change | | +|**type** | [**TypeEnum**](#TypeEnum) | Type of change | | +|**href** | **URI** | Route Filter Change URI | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| COMPLETED | "COMPLETED" | +| FAILED | "FAILED" | +| REQUESTED | "REQUESTED" | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER_UPDATE | "BGP_IPv4_PREFIX_FILTER_UPDATE" | +| IPV4_PREFIX_FILTER_CREATION | "BGP_IPv4_PREFIX_FILTER_CREATION" | +| IPV4_PREFIX_FILTER_DELETION | "BGP_IPv4_PREFIX_FILTER_DELETION" | +| IPV6_PREFIX_FILTER_UPDATE | "BGP_IPv6_PREFIX_FILTER_UPDATE" | +| IPV6_PREFIX_FILTER_CREATION | "BGP_IPv6_PREFIX_FILTER_CREATION" | +| IPV6_PREFIX_FILTER_DELETION | "BGP_IPv6_PREFIX_FILTER_DELETION" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterChangeDataResponse.md b/equinix-openapi-fabric/docs/RouteFilterChangeDataResponse.md new file mode 100644 index 00000000..79219c99 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterChangeDataResponse.md @@ -0,0 +1,15 @@ + + +# RouteFilterChangeDataResponse + +List of Route Filter changes + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**pagination** | [**Pagination**](Pagination.md) | | [optional] | +|**data** | [**List<RouteFilterChangeData>**](RouteFilterChangeData.md) | | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterChangePrefixMatch.md b/equinix-openapi-fabric/docs/RouteFilterChangePrefixMatch.md new file mode 100644 index 00000000..7b89ba82 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterChangePrefixMatch.md @@ -0,0 +1,16 @@ + + +# RouteFilterChangePrefixMatch + +Route Filter Rule change operation data + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**op** | **String** | Handy shortcut for operation name | | +|**path** | **String** | path to change | | +|**value** | **Object** | new value for updated parameter | | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterConnectionsData.md b/equinix-openapi-fabric/docs/RouteFilterConnectionsData.md new file mode 100644 index 00000000..e5d644f1 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterConnectionsData.md @@ -0,0 +1,16 @@ + + +# RouteFilterConnectionsData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**href** | **URI** | Connection URI | [optional] | +|**type** | **ConnectionType** | | [optional] | +|**uuid** | **UUID** | Route Filter identifier | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesApi.md b/equinix-openapi-fabric/docs/RouteFilterRulesApi.md new file mode 100644 index 00000000..a24aa19d --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesApi.md @@ -0,0 +1,695 @@ +# RouteFilterRulesApi + +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(routeFilterId, routeFilterRulesBase) + +Create RFRule + +This API provides capability to create a Route Filter Rule + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + RouteFilterRulesBase routeFilterRulesBase = new RouteFilterRulesBase(); // RouteFilterRulesBase | + try { + RouteFilterRulesData result = apiInstance.createRouteFilterRule(routeFilterId, routeFilterRulesBase); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#createRouteFilterRule"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRulesBase** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md)| | | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter Rule ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **createRouteFilterRulesInBulk** +> GetRouteFilterRulesResponse createRouteFilterRulesInBulk(routeFilterId, routeFilterRulesPostRequest) + +Bulk RFRules + +This API provides capability to create bulk route filter rules + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + RouteFilterRulesPostRequest routeFilterRulesPostRequest = new RouteFilterRulesPostRequest(); // RouteFilterRulesPostRequest | + try { + GetRouteFilterRulesResponse result = apiInstance.createRouteFilterRulesInBulk(routeFilterId, routeFilterRulesPostRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#createRouteFilterRulesInBulk"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRulesPostRequest** | [**RouteFilterRulesPostRequest**](RouteFilterRulesPostRequest.md)| | | + +### Return type + +[**GetRouteFilterRulesResponse**](GetRouteFilterRulesResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | + + +# **deleteRouteFilterRuleByUuid** +> RouteFilterRulesData deleteRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId) + +DeleteRFRule + +This API provides capability to delete a Route Filter Rule + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String routeFilterRuleId = "routeFilterRuleId_example"; // String | Route Filter Rules Id + try { + RouteFilterRulesData result = apiInstance.deleteRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#deleteRouteFilterRuleByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRuleId** | **String**| Route Filter Rules Id | | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **getRouteFilterRuleByUuid** +> RouteFilterRulesData getRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId) + +GetRFRule By UUID + +This API provides capability to view a Route Filter Rule by UUID + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String routeFilterRuleId = "routeFilterRuleId_example"; // String | Route Filter Rules Id + try { + RouteFilterRulesData result = apiInstance.getRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#getRouteFilterRuleByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRuleId** | **String**| Route Filter Rules Id | | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **getRouteFilterRuleChangeByUuid** +> RouteFilterRulesChangeData getRouteFilterRuleChangeByUuid(routeFilterId, routeFilterRuleId, changeId) + +Get Change By ID + +This API provides capability to retrieve a specific Route Filter Rule's Changes + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String routeFilterRuleId = "routeFilterRuleId_example"; // String | Route Filter Rules Id + UUID changeId = UUID.randomUUID(); // UUID | Route Filter Rule Change UUID + try { + RouteFilterRulesChangeData result = apiInstance.getRouteFilterRuleChangeByUuid(routeFilterId, routeFilterRuleId, changeId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#getRouteFilterRuleChangeByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRuleId** | **String**| Route Filter Rules Id | | +| **changeId** | **UUID**| 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 + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Fabric Route Filter Change object | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **500** | Internal server error | - | + + +# **getRouteFilterRuleChanges** +> RouteFilterRulesChangeDataResponse getRouteFilterRuleChanges(routeFilterId, routeFilterRuleId, offset, limit) + +Get All Changes + +This API provides capability to retrieve all of a Route Filter Rule's Changes + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String routeFilterRuleId = "routeFilterRuleId_example"; // String | Route Filter Rules Id + Integer offset = 1; // Integer | offset + Integer limit = 10; // Integer | number of records to fetch + try { + RouteFilterRulesChangeDataResponse result = apiInstance.getRouteFilterRuleChanges(routeFilterId, routeFilterRuleId, offset, limit); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#getRouteFilterRuleChanges"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRuleId** | **String**| Route Filter Rules Id | | +| **offset** | **Integer**| offset | [optional] | +| **limit** | **Integer**| number of records to fetch | [optional] | + +### Return type + +[**RouteFilterRulesChangeDataResponse**](RouteFilterRulesChangeDataResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Fabric Route Filter Rule Change object | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **500** | Internal server error | - | + + +# **getRouteFilterRules** +> GetRouteFilterRulesResponse getRouteFilterRules(routeFilterId, offset, limit) + +GetRFRules + +This API provides capability to get all Route Filters Rules for Fabric + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + Integer offset = 1; // Integer | offset + Integer limit = 10; // Integer | number of records to fetch + try { + GetRouteFilterRulesResponse result = apiInstance.getRouteFilterRules(routeFilterId, offset, limit); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#getRouteFilterRules"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **offset** | **Integer**| offset | [optional] | +| **limit** | **Integer**| number of records to fetch | [optional] | + +### Return type + +[**GetRouteFilterRulesResponse**](GetRouteFilterRulesResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter Rule ID Not Found | - | +| **500** | Internal server error | - | + + +# **patchRouteFilterRuleByUuid** +> RouteFiltersData patchRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch) + +PatchRFilterRule + +This API provides capability to partially update a Route Filter Rule + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String routeFilterRuleId = "routeFilterRuleId_example"; // String | Route Filter Rules Id + List routeFilterChangePrefixMatch = Arrays.asList(); // List | + try { + RouteFiltersData result = apiInstance.patchRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#patchRouteFilterRuleByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRuleId** | **String**| Route Filter Rules Id | | +| **routeFilterChangePrefixMatch** | [**List<RouteFilterChangePrefixMatch>**](RouteFilterChangePrefixMatch.md)| | | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **replaceRouteFilterRuleByUuid** +> RouteFilterRulesData replaceRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId, routeFilterRulesBase) + +ReplaceRFRule + +This API provides capability to replace a Route Filter Rule completely + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFilterRulesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFilterRulesApi apiInstance = new RouteFilterRulesApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String routeFilterRuleId = "routeFilterRuleId_example"; // String | Route Filter Rules Id + RouteFilterRulesBase routeFilterRulesBase = new RouteFilterRulesBase(); // RouteFilterRulesBase | + try { + RouteFilterRulesData result = apiInstance.replaceRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId, routeFilterRulesBase); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFilterRulesApi#replaceRouteFilterRuleByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFilterRuleId** | **String**| Route Filter Rules Id | | +| **routeFilterRulesBase** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md)| | | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesBase.md b/equinix-openapi-fabric/docs/RouteFilterRulesBase.md new file mode 100644 index 00000000..90f70cee --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesBase.md @@ -0,0 +1,16 @@ + + +# RouteFilterRulesBase + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**description** | **String** | Customer-provided Route Filter Rule description | [optional] | +|**prefix** | **String** | | [optional] | +|**prefixMatch** | **String** | | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesChange.md b/equinix-openapi-fabric/docs/RouteFilterRulesChange.md new file mode 100644 index 00000000..3d3f02c2 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesChange.md @@ -0,0 +1,29 @@ + + +# RouteFilterRulesChange + +Current state of latest Route Filter Rule change + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**uuid** | **String** | Uniquely identifies a change | | +|**type** | [**TypeEnum**](#TypeEnum) | Type of change | | +|**href** | **URI** | Route Filter Change URI | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER_RULE_UPDATE | "BGP_IPv4_PREFIX_FILTER_RULE_UPDATE" | +| IPV4_PREFIX_FILTER_RULE_CREATION | "BGP_IPv4_PREFIX_FILTER_RULE_CREATION" | +| IPV4_PREFIX_FILTER_RULE_DELETION | "BGP_IPv4_PREFIX_FILTER_RULE_DELETION" | +| IPV6_PREFIX_FILTER_RULE_UPDATE | "BGP_IPv6_PREFIX_FILTER_RULE_UPDATE" | +| IPV6_PREFIX_FILTER_RULE_CREATION | "BGP_IPv6_PREFIX_FILTER_RULE_CREATION" | +| IPV6_PREFIX_FILTER_RULE_DELETION | "BGP_IPv6_PREFIX_FILTER_RULE_DELETION" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesChangeData.md b/equinix-openapi-fabric/docs/RouteFilterRulesChangeData.md new file mode 100644 index 00000000..86c304ad --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesChangeData.md @@ -0,0 +1,45 @@ + + +# RouteFilterRulesChangeData + +Current state of latest Route Filter Rules change + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**status** | [**StatusEnum**](#StatusEnum) | Current outcome of the change flow | [optional] | +|**createdBy** | **String** | Created by User Key | [optional] | +|**createdDateTime** | **OffsetDateTime** | Set when change flow starts | [optional] | +|**updatedBy** | **String** | Updated by User Key | [optional] | +|**updatedDateTime** | **OffsetDateTime** | Set when change object is updated | [optional] | +|**data** | [**RouteFilterRulesChangeOperation**](RouteFilterRulesChangeOperation.md) | | [optional] | +|**uuid** | **String** | Uniquely identifies a change | | +|**type** | [**TypeEnum**](#TypeEnum) | Type of change | | +|**href** | **URI** | Route Filter Change URI | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| COMPLETED | "COMPLETED" | +| FAILED | "FAILED" | +| REQUESTED | "REQUESTED" | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER_RULE_UPDATE | "BGP_IPv4_PREFIX_FILTER_RULE_UPDATE" | +| IPV4_PREFIX_FILTER_RULE_CREATION | "BGP_IPv4_PREFIX_FILTER_RULE_CREATION" | +| IPV4_PREFIX_FILTER_RULE_DELETION | "BGP_IPv4_PREFIX_FILTER_RULE_DELETION" | +| IPV6_PREFIX_FILTER_RULE_UPDATE | "BGP_IPv6_PREFIX_FILTER_RULE_UPDATE" | +| IPV6_PREFIX_FILTER_RULE_CREATION | "BGP_IPv6_PREFIX_FILTER_RULE_CREATION" | +| IPV6_PREFIX_FILTER_RULE_DELETION | "BGP_IPv6_PREFIX_FILTER_RULE_DELETION" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesChangeDataResponse.md b/equinix-openapi-fabric/docs/RouteFilterRulesChangeDataResponse.md new file mode 100644 index 00000000..a22551b4 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesChangeDataResponse.md @@ -0,0 +1,15 @@ + + +# RouteFilterRulesChangeDataResponse + +List of Route Filter Rule changes + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**pagination** | [**Pagination**](Pagination.md) | | [optional] | +|**data** | [**List<RouteFilterRulesChangeData>**](RouteFilterRulesChangeData.md) | | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesChangeOperation.md b/equinix-openapi-fabric/docs/RouteFilterRulesChangeOperation.md new file mode 100644 index 00000000..1df4e5f1 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesChangeOperation.md @@ -0,0 +1,40 @@ + + +# RouteFilterRulesChangeOperation + +Route Filter change operation data + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | name of route filter rule | | +|**description** | **String** | cust provided description | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | type of filter rule | | +|**prefix** | **String** | given prefix (does not change) | | +|**action** | [**ActionEnum**](#ActionEnum) | change to be made | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER_RULE_UPDATE | "BGP_IPv4_PREFIX_FILTER_RULE_UPDATE" | +| IPV4_PREFIX_FILTER_RULE_CREATION | "BGP_IPv4_PREFIX_FILTER_RULE_CREATION" | +| IPV4_PREFIX_FILTER_RULE_DELETION | "BGP_IPv4_PREFIX_FILTER_RULE_DELETION" | +| IPV6_PREFIX_FILTER_RULE_UPDATE | "BGP_IPv6_PREFIX_FILTER_RULE_UPDATE" | +| IPV6_PREFIX_FILTER_RULE_CREATION | "BGP_IPv6_PREFIX_FILTER_RULE_CREATION" | +| IPV6_PREFIX_FILTER_RULE_DELETION | "BGP_IPv6_PREFIX_FILTER_RULE_DELETION" | + + + +## Enum: ActionEnum + +| Name | Value | +|---- | -----| +| PERMIT | "PERMIT" | +| DENY | "DENY" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesData.md b/equinix-openapi-fabric/docs/RouteFilterRulesData.md new file mode 100644 index 00000000..b67140ad --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesData.md @@ -0,0 +1,40 @@ + + +# RouteFilterRulesData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**href** | **URI** | Route Filter Rules URI | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | Route Filter type | [optional] | +|**uuid** | **UUID** | Route Filter Rule identifier | [optional] | +|**name** | **String** | | [optional] | +|**description** | **String** | Customer-provided Route Filter Rule description | [optional] | +|**prefixMatch** | **String** | prefix matching operator | [optional] | +|**change** | [**RouteFilterRulesChange**](RouteFilterRulesChange.md) | | [optional] | +|**action** | [**ActionEnum**](#ActionEnum) | | [optional] | +|**prefix** | **String** | | [optional] | +|**changelog** | [**Changelog**](Changelog.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER_RULE | "BGP_IPv4_PREFIX_FILTER_RULE" | +| IPV6_PREFIX_FILTER_RULE | "BGP_IPv6_PREFIX_FILTER_RULE" | + + + +## Enum: ActionEnum + +| Name | Value | +|---- | -----| +| PERMIT | "PERMIT" | +| DENY | "DENY" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterRulesPostRequest.md b/equinix-openapi-fabric/docs/RouteFilterRulesPostRequest.md new file mode 100644 index 00000000..94a5c10f --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterRulesPostRequest.md @@ -0,0 +1,14 @@ + + +# RouteFilterRulesPostRequest + +Create Route Filter Rule POST request + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<RouteFilterRulesBase>**](RouteFilterRulesBase.md) | Route Filter Rule configuration | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouteFilterState.md b/equinix-openapi-fabric/docs/RouteFilterState.md new file mode 100644 index 00000000..0ce46dd6 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFilterState.md @@ -0,0 +1,23 @@ + + +# RouteFilterState + +## Enum + + +* `PROVISIONING` (value: `"PROVISIONING"`) + +* `REPROVISIONING` (value: `"REPROVISIONING"`) + +* `DEPROVISIONING` (value: `"DEPROVISIONING"`) + +* `PROVISIONED` (value: `"PROVISIONED"`) + +* `DEPROVISIONED` (value: `"DEPROVISIONED"`) + +* `NOT_PROVISIONED` (value: `"NOT_PROVISIONED"`) + +* `NOT_DEPROVISIONED` (value: `"NOT_DEPROVISIONED"`) + + + diff --git a/equinix-openapi-fabric/docs/RouteFiltersApi.md b/equinix-openapi-fabric/docs/RouteFiltersApi.md new file mode 100644 index 00000000..4dd26f15 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersApi.md @@ -0,0 +1,912 @@ +# RouteFiltersApi + +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(routeFilterId, connectionId, connectionRouteFiltersBase) + +Attach Route Filter + +This API provides capability to attach a Route Filter to a Connection + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String connectionId = "connectionId_example"; // String | Connection Id + ConnectionRouteFiltersBase connectionRouteFiltersBase = new ConnectionRouteFiltersBase(); // ConnectionRouteFiltersBase | + try { + ConnectionRouteFilterData result = apiInstance.attachConnectionRouteFilter(routeFilterId, connectionId, connectionRouteFiltersBase); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#attachConnectionRouteFilter"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **connectionId** | **String**| Connection Id | | +| **connectionRouteFiltersBase** | [**ConnectionRouteFiltersBase**](ConnectionRouteFiltersBase.md)| | | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **createRouteFilter** +> RouteFiltersData createRouteFilter(routeFiltersBase) + +Create Route Filters + +This API provides capability to create a Route Filter + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + RouteFiltersBase routeFiltersBase = new RouteFiltersBase(); // RouteFiltersBase | + try { + RouteFiltersData result = apiInstance.createRouteFilter(routeFiltersBase); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#createRouteFilter"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFiltersBase** | [**RouteFiltersBase**](RouteFiltersBase.md)| | | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **deleteRouteFilterByUuid** +> RouteFiltersData deleteRouteFilterByUuid(routeFilterId) + +Delete Route Filter + +This API provides capability to delete a Route Filter + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + try { + RouteFiltersData result = apiInstance.deleteRouteFilterByUuid(routeFilterId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#deleteRouteFilterByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **detachConnectionRouteFilter** +> ConnectionRouteFilterData detachConnectionRouteFilter(routeFilterId, connectionId) + +Detach Route Filter + +This API provides capability to detach a Route Filter from a Connection + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String connectionId = "connectionId_example"; // String | Connection Id + try { + ConnectionRouteFilterData result = apiInstance.detachConnectionRouteFilter(routeFilterId, connectionId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#detachConnectionRouteFilter"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **connectionId** | **String**| Connection Id | | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **getConnectionRouteFilterByUuid** +> ConnectionRouteFilterData getConnectionRouteFilterByUuid(routeFilterId, connectionId) + +Get Route Filter + +This API provides capability to view a specific Route Filter attached to a Connection + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + String connectionId = "connectionId_example"; // String | Connection Id + try { + ConnectionRouteFilterData result = apiInstance.getConnectionRouteFilterByUuid(routeFilterId, connectionId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#getConnectionRouteFilterByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **connectionId** | **String**| Connection Id | | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **getConnectionRouteFilters** +> GetAllConnectionRouteFiltersResponse getConnectionRouteFilters(connectionId) + +Get All RouteFilters + +This API provides capability to view all Route Filters attached to a Connection + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String connectionId = "connectionId_example"; // String | Connection Id + try { + GetAllConnectionRouteFiltersResponse result = apiInstance.getConnectionRouteFilters(connectionId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#getConnectionRouteFilters"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **connectionId** | **String**| Connection Id | | + +### Return type + +[**GetAllConnectionRouteFiltersResponse**](GetAllConnectionRouteFiltersResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **getRouteFilterByUuid** +> RouteFiltersData getRouteFilterByUuid(routeFilterId) + +Get Filter By UUID + +This API provides capability to view a Route Filter by UUID + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + try { + RouteFiltersData result = apiInstance.getRouteFilterByUuid(routeFilterId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#getRouteFilterByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **getRouteFilterChangeByUuid** +> RouteFilterChangeData getRouteFilterChangeByUuid(routeFilterId, changeId) + +Get Change By ID + +This API provides capability to retrieve a specific Route Filter's Changes + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + UUID changeId = UUID.randomUUID(); // UUID | Routing Protocol Change UUID + try { + RouteFilterChangeData result = apiInstance.getRouteFilterChangeByUuid(routeFilterId, changeId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#getRouteFilterChangeByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **changeId** | **UUID**| Routing Protocol Change UUID | | + +### Return type + +[**RouteFilterChangeData**](RouteFilterChangeData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Fabric Route Filter Change object | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **500** | Internal server error | - | + + +# **getRouteFilterChanges** +> RouteFilterChangeDataResponse getRouteFilterChanges(routeFilterId, offset, limit) + +Get All Changes + +This API provides capability to retrieve all of a Route Filter's Changes + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + Integer offset = 1; // Integer | offset + Integer limit = 10; // Integer | number of records to fetch + try { + RouteFilterChangeDataResponse result = apiInstance.getRouteFilterChanges(routeFilterId, offset, limit); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#getRouteFilterChanges"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **offset** | **Integer**| offset | [optional] | +| **limit** | **Integer**| number of records to fetch | [optional] | + +### Return type + +[**RouteFilterChangeDataResponse**](RouteFilterChangeDataResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Fabric Route Filter Change object | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **500** | Internal server error | - | + + +# **getRouteFilterConnections** +> GetRouteFilterGetConnectionsResponse getRouteFilterConnections(routeFilterId) + +Get Connections + +This API provides capability to view all Connections using the Route Filter + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + try { + GetRouteFilterGetConnectionsResponse result = apiInstance.getRouteFilterConnections(routeFilterId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#getRouteFilterConnections"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | + +### Return type + +[**GetRouteFilterGetConnectionsResponse**](GetRouteFilterGetConnectionsResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **patchRouteFilterByUuid** +> RouteFiltersData patchRouteFilterByUuid(routeFilterId, connectionChangeOperation) + +Patch Route Filter + +This API provides capability to partially update a Route Filter + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + List connectionChangeOperation = Arrays.asList(); // List | + try { + RouteFiltersData result = apiInstance.patchRouteFilterByUuid(routeFilterId, connectionChangeOperation); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#patchRouteFilterByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **connectionChangeOperation** | [**List<ConnectionChangeOperation>**](ConnectionChangeOperation.md)| | | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + + +# **replaceRouteFilterByUuid** +> RouteFiltersData replaceRouteFilterByUuid(routeFilterId, routeFiltersBase) + +Replace Route Filter + +This API provides capability to replace a Route Filter completely + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.RouteFiltersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + RouteFiltersApi apiInstance = new RouteFiltersApi(defaultClient); + String routeFilterId = "routeFilterId_example"; // String | Route Filters Id + RouteFiltersBase routeFiltersBase = new RouteFiltersBase(); // RouteFiltersBase | + try { + RouteFiltersData result = apiInstance.replaceRouteFilterByUuid(routeFilterId, routeFiltersBase); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RouteFiltersApi#replaceRouteFilterByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **routeFilterId** | **String**| Route Filters Id | | +| **routeFiltersBase** | [**RouteFiltersBase**](RouteFiltersBase.md)| | | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **202** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Route Filter ID Not Found | - | +| **415** | Unsupported Media Type | - | +| **500** | Internal server error | - | + diff --git a/equinix-openapi-fabric/docs/RouteFiltersBase.md b/equinix-openapi-fabric/docs/RouteFiltersBase.md new file mode 100644 index 00000000..e10d9d38 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersBase.md @@ -0,0 +1,26 @@ + + +# RouteFiltersBase + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | Route Filter type | [optional] | +|**name** | **String** | | [optional] | +|**description** | **String** | Customer-provided connection description | [optional] | +|**project** | [**Project**](Project.md) | | [optional] | +|**notifications** | [**List<SimplifiedNotification>**](SimplifiedNotification.md) | Preferences for notifications on route filter configuration or status changes | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER | "BGP_IPv4_PREFIX_FILTER" | +| IPV6_PREFIX_FILTER | "BGP_IPv6_PREFIX_FILTER" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFiltersChange.md b/equinix-openapi-fabric/docs/RouteFiltersChange.md new file mode 100644 index 00000000..44ccc348 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersChange.md @@ -0,0 +1,29 @@ + + +# RouteFiltersChange + +Current state of latest Route Filter change + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**uuid** | **String** | Uniquely identifies a change | | +|**type** | [**TypeEnum**](#TypeEnum) | Type of change | | +|**href** | **URI** | Route Filter Change URI | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER_UPDATE | "BGP_IPv4_PREFIX_FILTER_UPDATE" | +| IPV4_PREFIX_FILTER_CREATION | "BGP_IPv4_PREFIX_FILTER_CREATION" | +| IPV4_PREFIX_FILTER_DELETION | "BGP_IPv4_PREFIX_FILTER_DELETION" | +| IPV6_PREFIX_FILTER_UPDATE | "BGP_IPv6_PREFIX_FILTER_UPDATE" | +| IPV6_PREFIX_FILTER_CREATION | "BGP_IPv6_PREFIX_FILTER_CREATION" | +| IPV6_PREFIX_FILTER_DELETION | "BGP_IPv6_PREFIX_FILTER_DELETION" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFiltersChangeOperation.md b/equinix-openapi-fabric/docs/RouteFiltersChangeOperation.md new file mode 100644 index 00000000..8072e21c --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersChangeOperation.md @@ -0,0 +1,26 @@ + + +# RouteFiltersChangeOperation + +Route Filter change operation data + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**op** | [**OpEnum**](#OpEnum) | Handy shortcut for operation name | | +|**path** | **String** | path inside document leading to updated parameter | | +|**value** | [**RouteFiltersBase**](RouteFiltersBase.md) | | | + + + +## Enum: OpEnum + +| Name | Value | +|---- | -----| +| ADD | "add" | +| REPLACE | "replace" | +| REMOVE | "remove" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFiltersData.md b/equinix-openapi-fabric/docs/RouteFiltersData.md new file mode 100644 index 00000000..17ba8c0c --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersData.md @@ -0,0 +1,42 @@ + + +# RouteFiltersData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**href** | **URI** | Route Filter URI | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | Route Filter type | [optional] | +|**uuid** | **UUID** | Route Filter identifier | [optional] | +|**name** | **String** | | [optional] | +|**description** | **String** | Customer-provided connection description | [optional] | +|**state** | **RouteFilterState** | | [optional] | +|**change** | [**RouteFiltersChange**](RouteFiltersChange.md) | | [optional] | +|**notMatchedRuleAction** | [**NotMatchedRuleActionEnum**](#NotMatchedRuleActionEnum) | | [optional] | +|**connectionsCount** | **Integer** | | [optional] | +|**project** | [**RouteFiltersDataProject**](RouteFiltersDataProject.md) | | [optional] | +|**notifications** | [**List<SimplifiedNotification>**](SimplifiedNotification.md) | Preferences for notifications on route filter configuration or status changes | [optional] | +|**changelog** | [**Changelog**](Changelog.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| IPV4_PREFIX_FILTER | "BGP_IPv4_PREFIX_FILTER" | +| IPV6_PREFIX_FILTER | "BGP_IPv6_PREFIX_FILTER" | + + + +## Enum: NotMatchedRuleActionEnum + +| Name | Value | +|---- | -----| +| ALLOW | "ALLOW" | +| DENY | "DENY" | + + + diff --git a/equinix-openapi-fabric/docs/RouteFiltersDataProject.md b/equinix-openapi-fabric/docs/RouteFiltersDataProject.md new file mode 100644 index 00000000..e5f409c0 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersDataProject.md @@ -0,0 +1,14 @@ + + +# RouteFiltersDataProject + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**projectId** | **String** | Subscriber-assigned project ID | | +|**href** | **URI** | Project URI | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouteFiltersDataProjectAllOf.md b/equinix-openapi-fabric/docs/RouteFiltersDataProjectAllOf.md new file mode 100644 index 00000000..527ad650 --- /dev/null +++ b/equinix-openapi-fabric/docs/RouteFiltersDataProjectAllOf.md @@ -0,0 +1,13 @@ + + +# RouteFiltersDataProjectAllOf + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**href** | **URI** | Project URI | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/RouterPackageCode.md b/equinix-openapi-fabric/docs/RouterPackageCode.md index 0a701412..b274e1e6 100644 --- a/equinix-openapi-fabric/docs/RouterPackageCode.md +++ b/equinix-openapi-fabric/docs/RouterPackageCode.md @@ -9,7 +9,7 @@ * `BASIC` (value: `"BASIC"`) -* `PRO` (value: `"PRO"`) +* `STANDARD` (value: `"STANDARD"`) * `PREMIUM` (value: `"PREMIUM"`) diff --git a/equinix-openapi-fabric/docs/RoutingProtocolsApi.md b/equinix-openapi-fabric/docs/RoutingProtocolsApi.md index 4dd70d55..b9206b52 100644 --- a/equinix-openapi-fabric/docs/RoutingProtocolsApi.md +++ b/equinix-openapi-fabric/docs/RoutingProtocolsApi.md @@ -937,7 +937,7 @@ public class Example { # **validateRoutingProtocol** -> ValidateSubnetResponse validateRoutingProtocol(routerId, validateSubnetRequest) +> ValidateSubnetResponse validateRoutingProtocol(routerId, validateRequest) Validate Subnet @@ -964,9 +964,9 @@ public class Example { RoutingProtocolsApi apiInstance = new RoutingProtocolsApi(defaultClient); UUID routerId = UUID.randomUUID(); // UUID | Cloud Router UUID - ValidateSubnetRequest validateSubnetRequest = new ValidateSubnetRequest(); // ValidateSubnetRequest | + ValidateRequest validateRequest = new ValidateRequest(); // ValidateRequest | try { - ValidateSubnetResponse result = apiInstance.validateRoutingProtocol(routerId, validateSubnetRequest); + ValidateSubnetResponse result = apiInstance.validateRoutingProtocol(routerId, validateRequest); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling RoutingProtocolsApi#validateRoutingProtocol"); @@ -984,7 +984,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **routerId** | **UUID**| Cloud Router UUID | | -| **validateSubnetRequest** | [**ValidateSubnetRequest**](ValidateSubnetRequest.md)| | | +| **validateRequest** | [**ValidateRequest**](ValidateRequest.md)| | | ### Return type diff --git a/equinix-openapi-fabric/docs/ServiceMetro.md b/equinix-openapi-fabric/docs/ServiceMetro.md index 264eb490..bb2ead67 100644 --- a/equinix-openapi-fabric/docs/ServiceMetro.md +++ b/equinix-openapi-fabric/docs/ServiceMetro.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**code** | **String** | metro code | [optional] | |**name** | **String** | metro name | [optional] | +|**vcBandwidthMax** | **Integer** | max VC speed supported in Mbps | [optional] | |**ibxs** | **List<String>** | | [optional] | |**inTrail** | **Boolean** | | [optional] | |**displayName** | **String** | service metro display name | [optional] | diff --git a/equinix-openapi-fabric/docs/ServiceMetros.md b/equinix-openapi-fabric/docs/ServiceMetros.md new file mode 100644 index 00000000..61907aab --- /dev/null +++ b/equinix-openapi-fabric/docs/ServiceMetros.md @@ -0,0 +1,15 @@ + + +# ServiceMetros + +Service Profile Metros + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<ServiceMetro>**](ServiceMetro.md) | | [optional] | +|**pagination** | [**Pagination**](Pagination.md) | | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/ServiceProfilesApi.md b/equinix-openapi-fabric/docs/ServiceProfilesApi.md index 4771089a..63641f3f 100644 --- a/equinix-openapi-fabric/docs/ServiceProfilesApi.md +++ b/equinix-openapi-fabric/docs/ServiceProfilesApi.md @@ -7,6 +7,7 @@ All URIs are relative to *https://api.equinix.com* | [**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 | @@ -229,6 +230,81 @@ public class Example { | **403** | Forbidden | - | | **500** | Internal Server Error | - | + +# **getServiceProfileMetrosByUuid** +> ServiceMetros getServiceProfileMetrosByUuid(serviceProfileId, offset, limit) + +Get Profile Metros + +Get service profile metros by UUID. + +### Example +```java +// Import classes: +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.auth.*; +import com.equinix.openapi.fabric.models.*; +import com.equinix.openapi.fabric.v4.api.ServiceProfilesApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.equinix.com"); + + // Configure HTTP bearer authorization: BearerAuth + HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth"); + BearerAuth.setBearerToken("BEARER TOKEN"); + + ServiceProfilesApi apiInstance = new ServiceProfilesApi(defaultClient); + UUID serviceProfileId = UUID.randomUUID(); // UUID | Service Profile UUID + Integer offset = 1; // Integer | offset + Integer limit = 10; // Integer | number of records to fetch + try { + ServiceMetros result = apiInstance.getServiceProfileMetrosByUuid(serviceProfileId, offset, limit); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ServiceProfilesApi#getServiceProfileMetrosByUuid"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **serviceProfileId** | **UUID**| Service Profile UUID | | +| **offset** | **Integer**| offset | [optional] | +| **limit** | **Integer**| number of records to fetch | [optional] | + +### 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 + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **500** | Internal Server Error | - | + # **getServiceProfiles** > ServiceProfiles getServiceProfiles(offset, limit, viewPoint) diff --git a/equinix-openapi-fabric/docs/ValidateConnectionRequest.md b/equinix-openapi-fabric/docs/ValidateRequest.md similarity index 56% rename from equinix-openapi-fabric/docs/ValidateConnectionRequest.md rename to equinix-openapi-fabric/docs/ValidateRequest.md index dacd18d1..6d0e4088 100644 --- a/equinix-openapi-fabric/docs/ValidateConnectionRequest.md +++ b/equinix-openapi-fabric/docs/ValidateRequest.md @@ -1,6 +1,6 @@ -# ValidateConnectionRequest +# ValidateRequest Validate connection auth api key or vlan @@ -8,7 +8,7 @@ Validate connection auth api key or vlan | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**filter** | [**ValidateSubnetRequestFilter**](ValidateSubnetRequestFilter.md) | | [optional] | +|**filter** | [**ValidateRequestFilter**](ValidateRequestFilter.md) | | [optional] | diff --git a/equinix-openapi-fabric/docs/ValidateRequestFilter.md b/equinix-openapi-fabric/docs/ValidateRequestFilter.md new file mode 100644 index 00000000..12b97dec --- /dev/null +++ b/equinix-openapi-fabric/docs/ValidateRequestFilter.md @@ -0,0 +1,14 @@ + + +# ValidateRequestFilter + +Filters + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**and** | [**List<ValidateRequestFilterAnd>**](ValidateRequestFilterAnd.md) | | [optional] | + + + diff --git a/equinix-openapi-fabric/docs/ValidateSubnetRequestFilterAnd.md b/equinix-openapi-fabric/docs/ValidateRequestFilterAnd.md similarity index 90% rename from equinix-openapi-fabric/docs/ValidateSubnetRequestFilterAnd.md rename to equinix-openapi-fabric/docs/ValidateRequestFilterAnd.md index e3b02de4..1184dc66 100644 --- a/equinix-openapi-fabric/docs/ValidateSubnetRequestFilterAnd.md +++ b/equinix-openapi-fabric/docs/ValidateRequestFilterAnd.md @@ -1,6 +1,6 @@ -# ValidateSubnetRequestFilterAnd +# ValidateRequestFilterAnd ## Properties diff --git a/equinix-openapi-fabric/docs/ValidateSubnetRequest.md b/equinix-openapi-fabric/docs/ValidateSubnetRequest.md deleted file mode 100644 index 47722b61..00000000 --- a/equinix-openapi-fabric/docs/ValidateSubnetRequest.md +++ /dev/null @@ -1,14 +0,0 @@ - - -# ValidateSubnetRequest - -Validate subnet for Routing Protocol Configuration - -## Properties - -| Name | Type | Description | Notes | -|------------ | ------------- | ------------- | -------------| -|**filter** | [**ValidateSubnetRequestFilter**](ValidateSubnetRequestFilter.md) | | [optional] | - - - diff --git a/equinix-openapi-fabric/docs/ValidateSubnetRequestFilter.md b/equinix-openapi-fabric/docs/ValidateSubnetRequestFilter.md deleted file mode 100644 index cd307b1a..00000000 --- a/equinix-openapi-fabric/docs/ValidateSubnetRequestFilter.md +++ /dev/null @@ -1,14 +0,0 @@ - - -# ValidateSubnetRequestFilter - -Filters - -## Properties - -| Name | Type | Description | Notes | -|------------ | ------------- | ------------- | -------------| -|**and** | [**List<ValidateSubnetRequestFilterAnd>**](ValidateSubnetRequestFilterAnd.md) | | [optional] | - - - diff --git a/equinix-openapi-fabric/docs/VirtualNetwork.md b/equinix-openapi-fabric/docs/VirtualNetwork.md new file mode 100644 index 00000000..b36f216c --- /dev/null +++ b/equinix-openapi-fabric/docs/VirtualNetwork.md @@ -0,0 +1,15 @@ + + +# VirtualNetwork + +Virtual Network Information + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**href** | **URI** | The Canonical URL at which the resource resides. | [optional] [readonly] | +|**uuid** | **UUID** | Equinix-assigned Virtual Network identifier | [optional] | + + + diff --git a/equinix-openapi-fabric/pom.xml b/equinix-openapi-fabric/pom.xml index 10fbcf64..1484171d 100644 --- a/equinix-openapi-fabric/pom.xml +++ b/equinix-openapi-fabric/pom.xml @@ -5,9 +5,9 @@ equinix-openapi-fabric jar equinix-openapi-fabric - 0.4.0 + 0.5.0 https://github.com/openapitools/openapi-generator - Equinix Fabric API Specification 4.10 generated SDK + Equinix Fabric API Specification 4.11 generated SDK scm:git:git@github.com:openapitools/openapi-generator.git scm:git:git@github.com:openapitools/openapi-generator.git diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/ApiClient.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/ApiClient.java index f62576ff..f51e73a8 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/ApiClient.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/ApiClient.java @@ -142,7 +142,7 @@ private void init() { json = new JSON(); // Set default User-Agent. - setUserAgent("OpenAPI-Generator/0.4.0/java"); + setUserAgent("OpenAPI-Generator/0.5.0/java"); authentications = new HashMap(); } diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/JSON.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/JSON.java index 9107506f..4615c139 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/JSON.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/JSON.java @@ -65,6 +65,7 @@ public Class getClas classByDiscriminatorValue.put("EVPN_VXLAN", com.equinix.openapi.fabric.v4.model.LinkProtocolEvpnVxlan.class); classByDiscriminatorValue.put("QINQ", com.equinix.openapi.fabric.v4.model.LinkProtocolQinq.class); classByDiscriminatorValue.put("UNTAGGED", com.equinix.openapi.fabric.v4.model.LinkProtocolUntagged.class); + classByDiscriminatorValue.put("VXLAN", com.equinix.openapi.fabric.v4.model.LinkProtocolVxlan.class); classByDiscriminatorValue.put("LinkProtocol", com.equinix.openapi.fabric.v4.model.LinkProtocol.class); return getClassByDiscriminator(classByDiscriminatorValue, getDiscriminatorValue(readElement, "type")); @@ -166,11 +167,12 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionChangeOperation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionCompanyProfile.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionInvitation.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionLink.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionOperation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionPostRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionRedundancy.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionRouteFilterData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionRouteFiltersBase.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionRoutingProtocolPostRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionSearchResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ConnectionSide.CustomTypeAdapterFactory()); @@ -187,7 +189,10 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.FabricConnectionUuid.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.FilterBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.GeoCoordinates.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.GetAllConnectionRouteFiltersResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.GetResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.GetRouteFilterGetConnectionsResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.GetRouteFilterRulesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.HealthResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.IpBlockPrice.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Ipv4.CustomTypeAdapterFactory()); @@ -204,6 +209,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.LinkProtocolResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.LinkProtocolServiceToken.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.LinkProtocolUntagged.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.LinkProtocolVxlan.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.MarketingInfo.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Md5.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Metrics.CustomTypeAdapterFactory()); @@ -253,9 +259,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PortTether.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PortV4SearchRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PrecisionTimeChangeOperation.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceConnectionsResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceCreateResponse.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PrecisionTimeServicePackagesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Price.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PriceCharge.CustomTypeAdapterFactory()); @@ -268,6 +272,23 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PtpAdvanceConfiguration.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RemoveOperation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ReplaceOperation.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterChangeData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterChangeDataResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterChangePrefixMatch.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterConnectionsData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesBase.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesChange.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeDataResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeOperation.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFilterRulesPostRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFiltersBase.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFiltersChange.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFiltersChangeOperation.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFiltersData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFiltersDataProject.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteFiltersDataProjectAllOf.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteTableEntry.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteTableEntryConnection.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.RouteTableEntryFilter.CustomTypeAdapterFactory()); @@ -293,6 +314,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SearchRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SearchResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceMetro.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceMetros.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceProfile.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceProfileAccessPointCOLO.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceProfileAccessPointType.CustomTypeAdapterFactory()); @@ -331,10 +353,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Statistics.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SubInterface.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TopUtilizedStatistics.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateConnectionRequest.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateSubnetRequest.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilter.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilterAnd.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateRequestFilter.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateRequestFilterAnd.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateSubnetResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualConnectionPrice.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualConnectionPriceASide.CustomTypeAdapterFactory()); @@ -347,6 +368,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualConnectionPriceZSideAccessPointBridgePackage.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualConnectionPriceZSideAccessPointProfile.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualDevice.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualNetwork.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualPortConfiguration.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualPortLocation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.VirtualPortPrice.CustomTypeAdapterFactory()); diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ConnectionsApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ConnectionsApi.java index a025fb83..c9bd0a8b 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ConnectionsApi.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ConnectionsApi.java @@ -36,7 +36,7 @@ import com.equinix.openapi.fabric.v4.model.ConnectionSearchResponse; import com.equinix.openapi.fabric.v4.model.Error; import com.equinix.openapi.fabric.v4.model.SearchRequest; -import com.equinix.openapi.fabric.v4.model.ValidateConnectionRequest; +import com.equinix.openapi.fabric.v4.model.ValidateRequest; import java.lang.reflect.Type; import java.util.ArrayList; @@ -942,7 +942,7 @@ public okhttp3.Call updateConnectionByUuidAsync(String connectionId, List 400 Bad request - */ - public okhttp3.Call validateConnectionsCall(ValidateConnectionRequest validateConnectionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call validateConnectionsCall(ValidateRequest validateRequest, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -967,7 +967,7 @@ public okhttp3.Call validateConnectionsCall(ValidateConnectionRequest validateCo basePath = null; } - Object localVarPostBody = validateConnectionRequest; + Object localVarPostBody = validateRequest; // create path and map variables String localVarPath = "/fabric/v4/connections/validate"; @@ -999,20 +999,20 @@ public okhttp3.Call validateConnectionsCall(ValidateConnectionRequest validateCo } @SuppressWarnings("rawtypes") - private okhttp3.Call validateConnectionsValidateBeforeCall(ValidateConnectionRequest validateConnectionRequest, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'validateConnectionRequest' is set - if (validateConnectionRequest == null) { - throw new ApiException("Missing the required parameter 'validateConnectionRequest' when calling validateConnections(Async)"); + private okhttp3.Call validateConnectionsValidateBeforeCall(ValidateRequest validateRequest, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'validateRequest' is set + if (validateRequest == null) { + throw new ApiException("Missing the required parameter 'validateRequest' when calling validateConnections(Async)"); } - return validateConnectionsCall(validateConnectionRequest, _callback); + return validateConnectionsCall(validateRequest, _callback); } /** * Validate Connection * This API provides capability to validate by auth key - * @param validateConnectionRequest (required) + * @param validateRequest (required) * @return ConnectionResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -1022,15 +1022,15 @@ private okhttp3.Call validateConnectionsValidateBeforeCall(ValidateConnectionReq 400 Bad request - */ - public ConnectionResponse validateConnections(ValidateConnectionRequest validateConnectionRequest) throws ApiException { - ApiResponse localVarResp = validateConnectionsWithHttpInfo(validateConnectionRequest); + public ConnectionResponse validateConnections(ValidateRequest validateRequest) throws ApiException { + ApiResponse localVarResp = validateConnectionsWithHttpInfo(validateRequest); return localVarResp.getData(); } /** * Validate Connection * This API provides capability to validate by auth key - * @param validateConnectionRequest (required) + * @param validateRequest (required) * @return ApiResponse<ConnectionResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -1040,8 +1040,8 @@ public ConnectionResponse validateConnections(ValidateConnectionRequest validate 400 Bad request - */ - public ApiResponse validateConnectionsWithHttpInfo(ValidateConnectionRequest validateConnectionRequest) throws ApiException { - okhttp3.Call localVarCall = validateConnectionsValidateBeforeCall(validateConnectionRequest, null); + public ApiResponse validateConnectionsWithHttpInfo(ValidateRequest validateRequest) throws ApiException { + okhttp3.Call localVarCall = validateConnectionsValidateBeforeCall(validateRequest, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -1049,7 +1049,7 @@ public ApiResponse validateConnectionsWithHttpInfo(ValidateC /** * Validate Connection (asynchronously) * This API provides capability to validate by auth key - * @param validateConnectionRequest (required) + * @param validateRequest (required) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1060,9 +1060,9 @@ public ApiResponse validateConnectionsWithHttpInfo(ValidateC 400 Bad request - */ - public okhttp3.Call validateConnectionsAsync(ValidateConnectionRequest validateConnectionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call validateConnectionsAsync(ValidateRequest validateRequest, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = validateConnectionsValidateBeforeCall(validateConnectionRequest, _callback); + okhttp3.Call localVarCall = validateConnectionsValidateBeforeCall(validateRequest, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApi.java index c2097455..330d235c 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApi.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApi.java @@ -27,11 +27,8 @@ import com.equinix.openapi.fabric.v4.model.Error; -import com.equinix.openapi.fabric.v4.model.PackageResponse; import com.equinix.openapi.fabric.v4.model.PrecisionTimeChangeOperation; -import com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceConnectionsResponse; import com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceCreateResponse; -import com.equinix.openapi.fabric.v4.model.PrecisionTimeServicePackagesResponse; import com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceRequest; import java.util.UUID; @@ -231,7 +228,7 @@ public okhttp3.Call createTimeServicesAsync(PrecisionTimeServiceRequest precisio * @http.response.details - + @@ -295,7 +292,7 @@ private okhttp3.Call deleteTimeServiceByIdValidateBeforeCall(UUID serviceId, fin } /** - * Delete Time Service + * Delete time service * Delete EPT service by it's uuid * @param serviceId Service UUID (required) * @return PrecisionTimeServiceCreateResponse @@ -303,7 +300,7 @@ private okhttp3.Call deleteTimeServiceByIdValidateBeforeCall(UUID serviceId, fin * @http.response.details
Status Code Description Response Headers
204 Successful operation -
202 Successful operation -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
- + @@ -316,7 +313,7 @@ public PrecisionTimeServiceCreateResponse deleteTimeServiceById(UUID serviceId) } /** - * Delete Time Service + * Delete time service * Delete EPT service by it's uuid * @param serviceId Service UUID (required) * @return ApiResponse<PrecisionTimeServiceCreateResponse> @@ -324,7 +321,7 @@ public PrecisionTimeServiceCreateResponse deleteTimeServiceById(UUID serviceId) * @http.response.details
Status Code Description Response Headers
204 Successful operation -
202 Successful operation -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
- + @@ -338,7 +335,7 @@ public ApiResponse deleteTimeServiceByIdWith } /** - * Delete Time Service (asynchronously) + * Delete time service (asynchronously) * Delete EPT service by it's uuid * @param serviceId Service UUID (required) * @param _callback The callback to be executed when the API call finishes @@ -347,7 +344,7 @@ public ApiResponse deleteTimeServiceByIdWith * @http.response.details
Status Code Description Response Headers
204 Successful operation -
202 Successful operation -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
- + @@ -370,7 +367,7 @@ public okhttp3.Call deleteTimeServiceByIdAsync(UUID serviceId, final ApiCallback * @http.response.details
Status Code Description Response Headers
204 Successful operation -
202 Successful operation -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
- + @@ -443,7 +440,7 @@ private okhttp3.Call getTimeServicesByIdValidateBeforeCall(UUID serviceId, final * @http.response.details
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
- + @@ -465,7 +462,7 @@ public PrecisionTimeServiceCreateResponse getTimeServicesById(UUID serviceId) th * @http.response.details
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
- + @@ -489,7 +486,7 @@ public ApiResponse getTimeServicesByIdWithHt * @http.response.details
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
- + @@ -504,397 +501,6 @@ public okhttp3.Call getTimeServicesByIdAsync(UUID serviceId, final ApiCallback

-

- - - - - -
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
Status Code Description Response Headers
200 Return Time Service Connection -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
500 Internal server error -
- */ - public okhttp3.Call getTimeServicesConnectionsByServiceIdCall(UUID serviceId, final ApiCallback _callback) throws ApiException { - String basePath = null; - // Operation Servers - String[] localBasePaths = new String[] { }; - - // Determine Base Path to Use - if (localCustomBaseUrl != null){ - basePath = localCustomBaseUrl; - } else if ( localBasePaths.length > 0 ) { - basePath = localBasePaths[localHostIndex]; - } else { - basePath = null; - } - - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/fabric/v4/timeServices/{serviceId}/connections" - .replace("{" + "serviceId" + "}", localVarApiClient.escapeString(serviceId.toString())); - - List localVarQueryParams = new ArrayList(); - List localVarCollectionQueryParams = new ArrayList(); - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) { - localVarHeaderParams.put("Accept", localVarAccept); - } - - final String[] localVarContentTypes = { - }; - final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); - if (localVarContentType != null) { - localVarHeaderParams.put("Content-Type", localVarContentType); - } - - String[] localVarAuthNames = new String[] { "BearerAuth" }; - return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call getTimeServicesConnectionsByServiceIdValidateBeforeCall(UUID serviceId, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'serviceId' is set - if (serviceId == null) { - throw new ApiException("Missing the required parameter 'serviceId' when calling getTimeServicesConnectionsByServiceId(Async)"); - } - - return getTimeServicesConnectionsByServiceIdCall(serviceId, _callback); - - } - - /** - * Get all Connections - * The API provides capability to get prevision timing service's details - * @param serviceId Service UUID (required) - * @return PrecisionTimeServiceConnectionsResponse - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - * @http.response.details - - - - - - - -
Status Code Description Response Headers
200 Return Time Service Connection -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
500 Internal server error -
- */ - public PrecisionTimeServiceConnectionsResponse getTimeServicesConnectionsByServiceId(UUID serviceId) throws ApiException { - ApiResponse localVarResp = getTimeServicesConnectionsByServiceIdWithHttpInfo(serviceId); - return localVarResp.getData(); - } - - /** - * Get all Connections - * The API provides capability to get prevision timing service's details - * @param serviceId Service UUID (required) - * @return ApiResponse<PrecisionTimeServiceConnectionsResponse> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - * @http.response.details - - - - - - - -
Status Code Description Response Headers
200 Return Time Service Connection -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
500 Internal server error -
- */ - public ApiResponse getTimeServicesConnectionsByServiceIdWithHttpInfo(UUID serviceId) throws ApiException { - okhttp3.Call localVarCall = getTimeServicesConnectionsByServiceIdValidateBeforeCall(serviceId, null); - Type localVarReturnType = new TypeToken(){}.getType(); - return localVarApiClient.execute(localVarCall, localVarReturnType); - } - - /** - * Get all Connections (asynchronously) - * The API provides capability to get prevision timing service's details - * @param serviceId Service UUID (required) - * @param _callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - * @http.response.details - - - - - - - -
Status Code Description Response Headers
200 Return Time Service Connection -
401 Unauthorized -
403 Forbidden -
415 Unsupported Media Type -
500 Internal server error -
- */ - public okhttp3.Call getTimeServicesConnectionsByServiceIdAsync(UUID serviceId, final ApiCallback _callback) throws ApiException { - - okhttp3.Call localVarCall = getTimeServicesConnectionsByServiceIdValidateBeforeCall(serviceId, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); - localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); - return localVarCall; - } - /** - * Build call for getTimeServicesPackageByCode - * @param packageCode Package Code (required) - * @param _callback Callback for upload/download progress - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public okhttp3.Call getTimeServicesPackageByCodeCall(String packageCode, final ApiCallback _callback) throws ApiException { - String basePath = null; - // Operation Servers - String[] localBasePaths = new String[] { }; - - // Determine Base Path to Use - if (localCustomBaseUrl != null){ - basePath = localCustomBaseUrl; - } else if ( localBasePaths.length > 0 ) { - basePath = localBasePaths[localHostIndex]; - } else { - basePath = null; - } - - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/fabric/v4/timeServicePackages/{packageCode}" - .replace("{" + "packageCode" + "}", localVarApiClient.escapeString(packageCode.toString())); - - List localVarQueryParams = new ArrayList(); - List localVarCollectionQueryParams = new ArrayList(); - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) { - localVarHeaderParams.put("Accept", localVarAccept); - } - - final String[] localVarContentTypes = { - }; - final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); - if (localVarContentType != null) { - localVarHeaderParams.put("Content-Type", localVarContentType); - } - - String[] localVarAuthNames = new String[] { "BearerAuth" }; - return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call getTimeServicesPackageByCodeValidateBeforeCall(String packageCode, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'packageCode' is set - if (packageCode == null) { - throw new ApiException("Missing the required parameter 'packageCode' when calling getTimeServicesPackageByCode(Async)"); - } - - return getTimeServicesPackageByCodeCall(packageCode, _callback); - - } - - /** - * Get Package by Code - * The API provides capability to get timing service's package by code - * @param packageCode Package Code (required) - * @return PackageResponse - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public PackageResponse getTimeServicesPackageByCode(String packageCode) throws ApiException { - ApiResponse localVarResp = getTimeServicesPackageByCodeWithHttpInfo(packageCode); - return localVarResp.getData(); - } - - /** - * Get Package by Code - * The API provides capability to get timing service's package by code - * @param packageCode Package Code (required) - * @return ApiResponse<PackageResponse> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public ApiResponse getTimeServicesPackageByCodeWithHttpInfo(String packageCode) throws ApiException { - okhttp3.Call localVarCall = getTimeServicesPackageByCodeValidateBeforeCall(packageCode, null); - Type localVarReturnType = new TypeToken(){}.getType(); - return localVarApiClient.execute(localVarCall, localVarReturnType); - } - - /** - * Get Package by Code (asynchronously) - * The API provides capability to get timing service's package by code - * @param packageCode Package Code (required) - * @param _callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public okhttp3.Call getTimeServicesPackageByCodeAsync(String packageCode, final ApiCallback _callback) throws ApiException { - - okhttp3.Call localVarCall = getTimeServicesPackageByCodeValidateBeforeCall(packageCode, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); - localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); - return localVarCall; - } - /** - * Build call for getTimeServicesPackages - * @param _callback Callback for upload/download progress - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public okhttp3.Call getTimeServicesPackagesCall(final ApiCallback _callback) throws ApiException { - String basePath = null; - // Operation Servers - String[] localBasePaths = new String[] { }; - - // Determine Base Path to Use - if (localCustomBaseUrl != null){ - basePath = localCustomBaseUrl; - } else if ( localBasePaths.length > 0 ) { - basePath = localBasePaths[localHostIndex]; - } else { - basePath = null; - } - - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/fabric/v4/timeServicePackages"; - - List localVarQueryParams = new ArrayList(); - List localVarCollectionQueryParams = new ArrayList(); - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) { - localVarHeaderParams.put("Accept", localVarAccept); - } - - final String[] localVarContentTypes = { - }; - final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); - if (localVarContentType != null) { - localVarHeaderParams.put("Content-Type", localVarContentType); - } - - String[] localVarAuthNames = new String[] { "BearerAuth" }; - return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call getTimeServicesPackagesValidateBeforeCall(final ApiCallback _callback) throws ApiException { - return getTimeServicesPackagesCall(_callback); - - } - - /** - * Get Packages - * The API provides capability to get timing service's packages - * @return PrecisionTimeServicePackagesResponse - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public PrecisionTimeServicePackagesResponse getTimeServicesPackages() throws ApiException { - ApiResponse localVarResp = getTimeServicesPackagesWithHttpInfo(); - return localVarResp.getData(); - } - - /** - * Get Packages - * The API provides capability to get timing service's packages - * @return ApiResponse<PrecisionTimeServicePackagesResponse> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public ApiResponse getTimeServicesPackagesWithHttpInfo() throws ApiException { - okhttp3.Call localVarCall = getTimeServicesPackagesValidateBeforeCall(null); - Type localVarReturnType = new TypeToken(){}.getType(); - return localVarApiClient.execute(localVarCall, localVarReturnType); - } - - /** - * Get Packages (asynchronously) - * The API provides capability to get timing service's packages - * @param _callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - * @http.response.details - - - - - -
Status Code Description Response Headers
200 Successful operation -
415 Unsupported Media Type -
500 Internal server error -
- */ - public okhttp3.Call getTimeServicesPackagesAsync(final ApiCallback _callback) throws ApiException { - - okhttp3.Call localVarCall = getTimeServicesPackagesValidateBeforeCall(_callback); - Type localVarReturnType = new TypeToken(){}.getType(); - localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); - return localVarCall; - } /** * Build call for updateTimeServicesById * @param serviceId Service UUID (required) @@ -905,7 +511,7 @@ public okhttp3.Call getTimeServicesPackagesAsync(final ApiCallback Status Code Description Response Headers - 200 Successful operation - + 202 Successful operation - 400 Bad request - 401 Unauthorized - 403 Forbidden - @@ -976,7 +582,7 @@ private okhttp3.Call updateTimeServicesByIdValidateBeforeCall(UUID serviceId, Li } /** - * Patch Time Service + * Patch time service * The API provides capability to update timing service * @param serviceId Service UUID (required) * @param precisionTimeChangeOperation (required) @@ -985,7 +591,7 @@ private okhttp3.Call updateTimeServicesByIdValidateBeforeCall(UUID serviceId, Li * @http.response.details - + @@ -999,7 +605,7 @@ public PrecisionTimeServiceCreateResponse updateTimeServicesById(UUID serviceId, } /** - * Patch Time Service + * Patch time service * The API provides capability to update timing service * @param serviceId Service UUID (required) * @param precisionTimeChangeOperation (required) @@ -1008,7 +614,7 @@ public PrecisionTimeServiceCreateResponse updateTimeServicesById(UUID serviceId, * @http.response.details
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
- + @@ -1023,7 +629,7 @@ public ApiResponse updateTimeServicesByIdWit } /** - * Patch Time Service (asynchronously) + * Patch time service (asynchronously) * The API provides capability to update timing service * @param serviceId Service UUID (required) * @param precisionTimeChangeOperation (required) @@ -1033,7 +639,7 @@ public ApiResponse updateTimeServicesByIdWit * @http.response.details
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
- + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApi.java new file mode 100644 index 00000000..6b7ff2f9 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApi.java @@ -0,0 +1,1513 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.api; + +import com.equinix.openapi.fabric.ApiCallback; +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.ApiResponse; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.Pair; +import com.equinix.openapi.fabric.ProgressRequestBody; +import com.equinix.openapi.fabric.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.equinix.openapi.fabric.v4.model.Error; +import com.equinix.openapi.fabric.v4.model.GetRouteFilterRulesResponse; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangePrefixMatch; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesBase; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeData; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeDataResponse; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesData; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesPostRequest; +import com.equinix.openapi.fabric.v4.model.RouteFiltersData; +import java.util.UUID; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.ws.rs.core.GenericType; + +public class RouteFilterRulesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public RouteFilterRulesApi() { + this(Configuration.getDefaultApiClient()); + } + + public RouteFilterRulesApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for createRouteFilterRule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesBase (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details +
Status Code Description Response Headers
200 Successful operation -
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
+ + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call createRouteFilterRuleCall(String routeFilterId, RouteFilterRulesBase routeFilterRulesBase, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = routeFilterRulesBase; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createRouteFilterRuleValidateBeforeCall(String routeFilterId, RouteFilterRulesBase routeFilterRulesBase, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling createRouteFilterRule(Async)"); + } + + // verify the required parameter 'routeFilterRulesBase' is set + if (routeFilterRulesBase == null) { + throw new ApiException("Missing the required parameter 'routeFilterRulesBase' when calling createRouteFilterRule(Async)"); + } + + return createRouteFilterRuleCall(routeFilterId, routeFilterRulesBase, _callback); + + } + + /** + * Create RFRule + * This API provides capability to create a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesBase (required) + * @return RouteFilterRulesData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFilterRulesData createRouteFilterRule(String routeFilterId, RouteFilterRulesBase routeFilterRulesBase) throws ApiException { + ApiResponse localVarResp = createRouteFilterRuleWithHttpInfo(routeFilterId, routeFilterRulesBase); + return localVarResp.getData(); + } + + /** + * Create RFRule + * This API provides capability to create a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesBase (required) + * @return ApiResponse<RouteFilterRulesData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse createRouteFilterRuleWithHttpInfo(String routeFilterId, RouteFilterRulesBase routeFilterRulesBase) throws ApiException { + okhttp3.Call localVarCall = createRouteFilterRuleValidateBeforeCall(routeFilterId, routeFilterRulesBase, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Create RFRule (asynchronously) + * This API provides capability to create a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesBase (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call createRouteFilterRuleAsync(String routeFilterId, RouteFilterRulesBase routeFilterRulesBase, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createRouteFilterRuleValidateBeforeCall(routeFilterId, routeFilterRulesBase, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for createRouteFilterRulesInBulk + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesPostRequest (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + +
Status Code Description Response Headers
202 Successful operation -
+ */ + public okhttp3.Call createRouteFilterRulesInBulkCall(String routeFilterId, RouteFilterRulesPostRequest routeFilterRulesPostRequest, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = routeFilterRulesPostRequest; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createRouteFilterRulesInBulkValidateBeforeCall(String routeFilterId, RouteFilterRulesPostRequest routeFilterRulesPostRequest, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling createRouteFilterRulesInBulk(Async)"); + } + + // verify the required parameter 'routeFilterRulesPostRequest' is set + if (routeFilterRulesPostRequest == null) { + throw new ApiException("Missing the required parameter 'routeFilterRulesPostRequest' when calling createRouteFilterRulesInBulk(Async)"); + } + + return createRouteFilterRulesInBulkCall(routeFilterId, routeFilterRulesPostRequest, _callback); + + } + + /** + * Bulk RFRules + * This API provides capability to create bulk route filter rules + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesPostRequest (required) + * @return GetRouteFilterRulesResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
202 Successful operation -
+ */ + public GetRouteFilterRulesResponse createRouteFilterRulesInBulk(String routeFilterId, RouteFilterRulesPostRequest routeFilterRulesPostRequest) throws ApiException { + ApiResponse localVarResp = createRouteFilterRulesInBulkWithHttpInfo(routeFilterId, routeFilterRulesPostRequest); + return localVarResp.getData(); + } + + /** + * Bulk RFRules + * This API provides capability to create bulk route filter rules + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesPostRequest (required) + * @return ApiResponse<GetRouteFilterRulesResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
202 Successful operation -
+ */ + public ApiResponse createRouteFilterRulesInBulkWithHttpInfo(String routeFilterId, RouteFilterRulesPostRequest routeFilterRulesPostRequest) throws ApiException { + okhttp3.Call localVarCall = createRouteFilterRulesInBulkValidateBeforeCall(routeFilterId, routeFilterRulesPostRequest, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Bulk RFRules (asynchronously) + * This API provides capability to create bulk route filter rules + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRulesPostRequest (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + +
Status Code Description Response Headers
202 Successful operation -
+ */ + public okhttp3.Call createRouteFilterRulesInBulkAsync(String routeFilterId, RouteFilterRulesPostRequest routeFilterRulesPostRequest, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createRouteFilterRulesInBulkValidateBeforeCall(routeFilterId, routeFilterRulesPostRequest, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteRouteFilterRuleByUuid + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call deleteRouteFilterRuleByUuidCall(String routeFilterId, String routeFilterRuleId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "routeFilterRuleId" + "}", localVarApiClient.escapeString(routeFilterRuleId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deleteRouteFilterRuleByUuidValidateBeforeCall(String routeFilterId, String routeFilterRuleId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling deleteRouteFilterRuleByUuid(Async)"); + } + + // verify the required parameter 'routeFilterRuleId' is set + if (routeFilterRuleId == null) { + throw new ApiException("Missing the required parameter 'routeFilterRuleId' when calling deleteRouteFilterRuleByUuid(Async)"); + } + + return deleteRouteFilterRuleByUuidCall(routeFilterId, routeFilterRuleId, _callback); + + } + + /** + * DeleteRFRule + * This API provides capability to delete a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @return RouteFilterRulesData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFilterRulesData deleteRouteFilterRuleByUuid(String routeFilterId, String routeFilterRuleId) throws ApiException { + ApiResponse localVarResp = deleteRouteFilterRuleByUuidWithHttpInfo(routeFilterId, routeFilterRuleId); + return localVarResp.getData(); + } + + /** + * DeleteRFRule + * This API provides capability to delete a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @return ApiResponse<RouteFilterRulesData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse deleteRouteFilterRuleByUuidWithHttpInfo(String routeFilterId, String routeFilterRuleId) throws ApiException { + okhttp3.Call localVarCall = deleteRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * DeleteRFRule (asynchronously) + * This API provides capability to delete a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call deleteRouteFilterRuleByUuidAsync(String routeFilterId, String routeFilterRuleId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterRuleByUuid + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRuleByUuidCall(String routeFilterId, String routeFilterRuleId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "routeFilterRuleId" + "}", localVarApiClient.escapeString(routeFilterRuleId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterRuleByUuidValidateBeforeCall(String routeFilterId, String routeFilterRuleId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterRuleByUuid(Async)"); + } + + // verify the required parameter 'routeFilterRuleId' is set + if (routeFilterRuleId == null) { + throw new ApiException("Missing the required parameter 'routeFilterRuleId' when calling getRouteFilterRuleByUuid(Async)"); + } + + return getRouteFilterRuleByUuidCall(routeFilterId, routeFilterRuleId, _callback); + + } + + /** + * GetRFRule By UUID + * This API provides capability to view a Route Filter Rule by UUID + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @return RouteFilterRulesData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFilterRulesData getRouteFilterRuleByUuid(String routeFilterId, String routeFilterRuleId) throws ApiException { + ApiResponse localVarResp = getRouteFilterRuleByUuidWithHttpInfo(routeFilterId, routeFilterRuleId); + return localVarResp.getData(); + } + + /** + * GetRFRule By UUID + * This API provides capability to view a Route Filter Rule by UUID + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @return ApiResponse<RouteFilterRulesData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterRuleByUuidWithHttpInfo(String routeFilterId, String routeFilterRuleId) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * GetRFRule By UUID (asynchronously) + * This API provides capability to view a Route Filter Rule by UUID + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRuleByUuidAsync(String routeFilterId, String routeFilterRuleId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterRuleChangeByUuid + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param changeId Route Filter Rule Change UUID (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRuleChangeByUuidCall(String routeFilterId, String routeFilterRuleId, UUID changeId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "routeFilterRuleId" + "}", localVarApiClient.escapeString(routeFilterRuleId.toString())) + .replace("{" + "changeId" + "}", localVarApiClient.escapeString(changeId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterRuleChangeByUuidValidateBeforeCall(String routeFilterId, String routeFilterRuleId, UUID changeId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterRuleChangeByUuid(Async)"); + } + + // verify the required parameter 'routeFilterRuleId' is set + if (routeFilterRuleId == null) { + throw new ApiException("Missing the required parameter 'routeFilterRuleId' when calling getRouteFilterRuleChangeByUuid(Async)"); + } + + // verify the required parameter 'changeId' is set + if (changeId == null) { + throw new ApiException("Missing the required parameter 'changeId' when calling getRouteFilterRuleChangeByUuid(Async)"); + } + + return getRouteFilterRuleChangeByUuidCall(routeFilterId, routeFilterRuleId, changeId, _callback); + + } + + /** + * Get Change By ID + * This API provides capability to retrieve a specific Route Filter Rule's Changes + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param changeId Route Filter Rule Change UUID (required) + * @return RouteFilterRulesChangeData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public RouteFilterRulesChangeData getRouteFilterRuleChangeByUuid(String routeFilterId, String routeFilterRuleId, UUID changeId) throws ApiException { + ApiResponse localVarResp = getRouteFilterRuleChangeByUuidWithHttpInfo(routeFilterId, routeFilterRuleId, changeId); + return localVarResp.getData(); + } + + /** + * Get Change By ID + * This API provides capability to retrieve a specific Route Filter Rule's Changes + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param changeId Route Filter Rule Change UUID (required) + * @return ApiResponse<RouteFilterRulesChangeData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterRuleChangeByUuidWithHttpInfo(String routeFilterId, String routeFilterRuleId, UUID changeId) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterRuleChangeByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, changeId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get Change By ID (asynchronously) + * This API provides capability to retrieve a specific Route Filter Rule's Changes + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param changeId Route Filter Rule Change UUID (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRuleChangeByUuidAsync(String routeFilterId, String routeFilterRuleId, UUID changeId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterRuleChangeByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, changeId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterRuleChanges + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Rule Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRuleChangesCall(String routeFilterId, String routeFilterRuleId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "routeFilterRuleId" + "}", localVarApiClient.escapeString(routeFilterRuleId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (offset != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("offset", offset)); + } + + if (limit != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("limit", limit)); + } + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterRuleChangesValidateBeforeCall(String routeFilterId, String routeFilterRuleId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterRuleChanges(Async)"); + } + + // verify the required parameter 'routeFilterRuleId' is set + if (routeFilterRuleId == null) { + throw new ApiException("Missing the required parameter 'routeFilterRuleId' when calling getRouteFilterRuleChanges(Async)"); + } + + return getRouteFilterRuleChangesCall(routeFilterId, routeFilterRuleId, offset, limit, _callback); + + } + + /** + * Get All Changes + * This API provides capability to retrieve all of a Route Filter Rule's Changes + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return RouteFilterRulesChangeDataResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Rule Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public RouteFilterRulesChangeDataResponse getRouteFilterRuleChanges(String routeFilterId, String routeFilterRuleId, Integer offset, Integer limit) throws ApiException { + ApiResponse localVarResp = getRouteFilterRuleChangesWithHttpInfo(routeFilterId, routeFilterRuleId, offset, limit); + return localVarResp.getData(); + } + + /** + * Get All Changes + * This API provides capability to retrieve all of a Route Filter Rule's Changes + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return ApiResponse<RouteFilterRulesChangeDataResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Rule Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterRuleChangesWithHttpInfo(String routeFilterId, String routeFilterRuleId, Integer offset, Integer limit) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterRuleChangesValidateBeforeCall(routeFilterId, routeFilterRuleId, offset, limit, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get All Changes (asynchronously) + * This API provides capability to retrieve all of a Route Filter Rule's Changes + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Rule Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRuleChangesAsync(String routeFilterId, String routeFilterRuleId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterRuleChangesValidateBeforeCall(routeFilterId, routeFilterRuleId, offset, limit, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterRules + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRulesCall(String routeFilterId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (offset != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("offset", offset)); + } + + if (limit != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("limit", limit)); + } + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterRulesValidateBeforeCall(String routeFilterId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterRules(Async)"); + } + + return getRouteFilterRulesCall(routeFilterId, offset, limit, _callback); + + } + + /** + * GetRFRules + * This API provides capability to get all Route Filters Rules for Fabric + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return GetRouteFilterRulesResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
500 Internal server error -
+ */ + public GetRouteFilterRulesResponse getRouteFilterRules(String routeFilterId, Integer offset, Integer limit) throws ApiException { + ApiResponse localVarResp = getRouteFilterRulesWithHttpInfo(routeFilterId, offset, limit); + return localVarResp.getData(); + } + + /** + * GetRFRules + * This API provides capability to get all Route Filters Rules for Fabric + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return ApiResponse<GetRouteFilterRulesResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterRulesWithHttpInfo(String routeFilterId, Integer offset, Integer limit) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterRulesValidateBeforeCall(routeFilterId, offset, limit, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * GetRFRules (asynchronously) + * This API provides capability to get all Route Filters Rules for Fabric + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter Rule ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterRulesAsync(String routeFilterId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterRulesValidateBeforeCall(routeFilterId, offset, limit, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for patchRouteFilterRuleByUuid + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterChangePrefixMatch (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call patchRouteFilterRuleByUuidCall(String routeFilterId, String routeFilterRuleId, List routeFilterChangePrefixMatch, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = routeFilterChangePrefixMatch; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "routeFilterRuleId" + "}", localVarApiClient.escapeString(routeFilterRuleId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call patchRouteFilterRuleByUuidValidateBeforeCall(String routeFilterId, String routeFilterRuleId, List routeFilterChangePrefixMatch, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling patchRouteFilterRuleByUuid(Async)"); + } + + // verify the required parameter 'routeFilterRuleId' is set + if (routeFilterRuleId == null) { + throw new ApiException("Missing the required parameter 'routeFilterRuleId' when calling patchRouteFilterRuleByUuid(Async)"); + } + + // verify the required parameter 'routeFilterChangePrefixMatch' is set + if (routeFilterChangePrefixMatch == null) { + throw new ApiException("Missing the required parameter 'routeFilterChangePrefixMatch' when calling patchRouteFilterRuleByUuid(Async)"); + } + + return patchRouteFilterRuleByUuidCall(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch, _callback); + + } + + /** + * PatchRFilterRule + * This API provides capability to partially update a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterChangePrefixMatch (required) + * @return RouteFiltersData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFiltersData patchRouteFilterRuleByUuid(String routeFilterId, String routeFilterRuleId, List routeFilterChangePrefixMatch) throws ApiException { + ApiResponse localVarResp = patchRouteFilterRuleByUuidWithHttpInfo(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch); + return localVarResp.getData(); + } + + /** + * PatchRFilterRule + * This API provides capability to partially update a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterChangePrefixMatch (required) + * @return ApiResponse<RouteFiltersData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse patchRouteFilterRuleByUuidWithHttpInfo(String routeFilterId, String routeFilterRuleId, List routeFilterChangePrefixMatch) throws ApiException { + okhttp3.Call localVarCall = patchRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * PatchRFilterRule (asynchronously) + * This API provides capability to partially update a Route Filter Rule + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterChangePrefixMatch (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call patchRouteFilterRuleByUuidAsync(String routeFilterId, String routeFilterRuleId, List routeFilterChangePrefixMatch, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = patchRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for replaceRouteFilterRuleByUuid + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterRulesBase (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call replaceRouteFilterRuleByUuidCall(String routeFilterId, String routeFilterRuleId, RouteFilterRulesBase routeFilterRulesBase, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = routeFilterRulesBase; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "routeFilterRuleId" + "}", localVarApiClient.escapeString(routeFilterRuleId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call replaceRouteFilterRuleByUuidValidateBeforeCall(String routeFilterId, String routeFilterRuleId, RouteFilterRulesBase routeFilterRulesBase, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling replaceRouteFilterRuleByUuid(Async)"); + } + + // verify the required parameter 'routeFilterRuleId' is set + if (routeFilterRuleId == null) { + throw new ApiException("Missing the required parameter 'routeFilterRuleId' when calling replaceRouteFilterRuleByUuid(Async)"); + } + + // verify the required parameter 'routeFilterRulesBase' is set + if (routeFilterRulesBase == null) { + throw new ApiException("Missing the required parameter 'routeFilterRulesBase' when calling replaceRouteFilterRuleByUuid(Async)"); + } + + return replaceRouteFilterRuleByUuidCall(routeFilterId, routeFilterRuleId, routeFilterRulesBase, _callback); + + } + + /** + * ReplaceRFRule + * This API provides capability to replace a Route Filter Rule completely + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterRulesBase (required) + * @return RouteFilterRulesData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFilterRulesData replaceRouteFilterRuleByUuid(String routeFilterId, String routeFilterRuleId, RouteFilterRulesBase routeFilterRulesBase) throws ApiException { + ApiResponse localVarResp = replaceRouteFilterRuleByUuidWithHttpInfo(routeFilterId, routeFilterRuleId, routeFilterRulesBase); + return localVarResp.getData(); + } + + /** + * ReplaceRFRule + * This API provides capability to replace a Route Filter Rule completely + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterRulesBase (required) + * @return ApiResponse<RouteFilterRulesData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse replaceRouteFilterRuleByUuidWithHttpInfo(String routeFilterId, String routeFilterRuleId, RouteFilterRulesBase routeFilterRulesBase) throws ApiException { + okhttp3.Call localVarCall = replaceRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, routeFilterRulesBase, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * ReplaceRFRule (asynchronously) + * This API provides capability to replace a Route Filter Rule completely + * @param routeFilterId Route Filters Id (required) + * @param routeFilterRuleId Route Filter Rules Id (required) + * @param routeFilterRulesBase (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call replaceRouteFilterRuleByUuidAsync(String routeFilterId, String routeFilterRuleId, RouteFilterRulesBase routeFilterRulesBase, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = replaceRouteFilterRuleByUuidValidateBeforeCall(routeFilterId, routeFilterRuleId, routeFilterRulesBase, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApi.java new file mode 100644 index 00000000..d6847e22 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApi.java @@ -0,0 +1,1927 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.api; + +import com.equinix.openapi.fabric.ApiCallback; +import com.equinix.openapi.fabric.ApiClient; +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.ApiResponse; +import com.equinix.openapi.fabric.Configuration; +import com.equinix.openapi.fabric.Pair; +import com.equinix.openapi.fabric.ProgressRequestBody; +import com.equinix.openapi.fabric.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.equinix.openapi.fabric.v4.model.ConnectionChangeOperation; +import com.equinix.openapi.fabric.v4.model.ConnectionRouteFilterData; +import com.equinix.openapi.fabric.v4.model.ConnectionRouteFiltersBase; +import com.equinix.openapi.fabric.v4.model.Error; +import com.equinix.openapi.fabric.v4.model.GetAllConnectionRouteFiltersResponse; +import com.equinix.openapi.fabric.v4.model.GetRouteFilterGetConnectionsResponse; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangeData; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangeDataResponse; +import com.equinix.openapi.fabric.v4.model.RouteFiltersBase; +import com.equinix.openapi.fabric.v4.model.RouteFiltersData; +import java.util.UUID; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.ws.rs.core.GenericType; + +public class RouteFiltersApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public RouteFiltersApi() { + this(Configuration.getDefaultApiClient()); + } + + public RouteFiltersApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for attachConnectionRouteFilter + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param connectionRouteFiltersBase (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call attachConnectionRouteFilterCall(String routeFilterId, String connectionId, ConnectionRouteFiltersBase connectionRouteFiltersBase, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = connectionRouteFiltersBase; + + // create path and map variables + String localVarPath = "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "connectionId" + "}", localVarApiClient.escapeString(connectionId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call attachConnectionRouteFilterValidateBeforeCall(String routeFilterId, String connectionId, ConnectionRouteFiltersBase connectionRouteFiltersBase, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling attachConnectionRouteFilter(Async)"); + } + + // verify the required parameter 'connectionId' is set + if (connectionId == null) { + throw new ApiException("Missing the required parameter 'connectionId' when calling attachConnectionRouteFilter(Async)"); + } + + // verify the required parameter 'connectionRouteFiltersBase' is set + if (connectionRouteFiltersBase == null) { + throw new ApiException("Missing the required parameter 'connectionRouteFiltersBase' when calling attachConnectionRouteFilter(Async)"); + } + + return attachConnectionRouteFilterCall(routeFilterId, connectionId, connectionRouteFiltersBase, _callback); + + } + + /** + * Attach Route Filter + * This API provides capability to attach a Route Filter to a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param connectionRouteFiltersBase (required) + * @return ConnectionRouteFilterData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ConnectionRouteFilterData attachConnectionRouteFilter(String routeFilterId, String connectionId, ConnectionRouteFiltersBase connectionRouteFiltersBase) throws ApiException { + ApiResponse localVarResp = attachConnectionRouteFilterWithHttpInfo(routeFilterId, connectionId, connectionRouteFiltersBase); + return localVarResp.getData(); + } + + /** + * Attach Route Filter + * This API provides capability to attach a Route Filter to a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param connectionRouteFiltersBase (required) + * @return ApiResponse<ConnectionRouteFilterData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse attachConnectionRouteFilterWithHttpInfo(String routeFilterId, String connectionId, ConnectionRouteFiltersBase connectionRouteFiltersBase) throws ApiException { + okhttp3.Call localVarCall = attachConnectionRouteFilterValidateBeforeCall(routeFilterId, connectionId, connectionRouteFiltersBase, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Attach Route Filter (asynchronously) + * This API provides capability to attach a Route Filter to a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param connectionRouteFiltersBase (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call attachConnectionRouteFilterAsync(String routeFilterId, String connectionId, ConnectionRouteFiltersBase connectionRouteFiltersBase, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = attachConnectionRouteFilterValidateBeforeCall(routeFilterId, connectionId, connectionRouteFiltersBase, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for createRouteFilter + * @param routeFiltersBase (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call createRouteFilterCall(RouteFiltersBase routeFiltersBase, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = routeFiltersBase; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createRouteFilterValidateBeforeCall(RouteFiltersBase routeFiltersBase, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFiltersBase' is set + if (routeFiltersBase == null) { + throw new ApiException("Missing the required parameter 'routeFiltersBase' when calling createRouteFilter(Async)"); + } + + return createRouteFilterCall(routeFiltersBase, _callback); + + } + + /** + * Create Route Filters + * This API provides capability to create a Route Filter + * @param routeFiltersBase (required) + * @return RouteFiltersData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFiltersData createRouteFilter(RouteFiltersBase routeFiltersBase) throws ApiException { + ApiResponse localVarResp = createRouteFilterWithHttpInfo(routeFiltersBase); + return localVarResp.getData(); + } + + /** + * Create Route Filters + * This API provides capability to create a Route Filter + * @param routeFiltersBase (required) + * @return ApiResponse<RouteFiltersData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse createRouteFilterWithHttpInfo(RouteFiltersBase routeFiltersBase) throws ApiException { + okhttp3.Call localVarCall = createRouteFilterValidateBeforeCall(routeFiltersBase, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Create Route Filters (asynchronously) + * This API provides capability to create a Route Filter + * @param routeFiltersBase (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call createRouteFilterAsync(RouteFiltersBase routeFiltersBase, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createRouteFilterValidateBeforeCall(routeFiltersBase, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteRouteFilterByUuid + * @param routeFilterId Route Filters Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call deleteRouteFilterByUuidCall(String routeFilterId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deleteRouteFilterByUuidValidateBeforeCall(String routeFilterId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling deleteRouteFilterByUuid(Async)"); + } + + return deleteRouteFilterByUuidCall(routeFilterId, _callback); + + } + + /** + * Delete Route Filter + * This API provides capability to delete a Route Filter + * @param routeFilterId Route Filters Id (required) + * @return RouteFiltersData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFiltersData deleteRouteFilterByUuid(String routeFilterId) throws ApiException { + ApiResponse localVarResp = deleteRouteFilterByUuidWithHttpInfo(routeFilterId); + return localVarResp.getData(); + } + + /** + * Delete Route Filter + * This API provides capability to delete a Route Filter + * @param routeFilterId Route Filters Id (required) + * @return ApiResponse<RouteFiltersData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse deleteRouteFilterByUuidWithHttpInfo(String routeFilterId) throws ApiException { + okhttp3.Call localVarCall = deleteRouteFilterByUuidValidateBeforeCall(routeFilterId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete Route Filter (asynchronously) + * This API provides capability to delete a Route Filter + * @param routeFilterId Route Filters Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call deleteRouteFilterByUuidAsync(String routeFilterId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteRouteFilterByUuidValidateBeforeCall(routeFilterId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for detachConnectionRouteFilter + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call detachConnectionRouteFilterCall(String routeFilterId, String connectionId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "connectionId" + "}", localVarApiClient.escapeString(connectionId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call detachConnectionRouteFilterValidateBeforeCall(String routeFilterId, String connectionId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling detachConnectionRouteFilter(Async)"); + } + + // verify the required parameter 'connectionId' is set + if (connectionId == null) { + throw new ApiException("Missing the required parameter 'connectionId' when calling detachConnectionRouteFilter(Async)"); + } + + return detachConnectionRouteFilterCall(routeFilterId, connectionId, _callback); + + } + + /** + * Detach Route Filter + * This API provides capability to detach a Route Filter from a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @return ConnectionRouteFilterData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ConnectionRouteFilterData detachConnectionRouteFilter(String routeFilterId, String connectionId) throws ApiException { + ApiResponse localVarResp = detachConnectionRouteFilterWithHttpInfo(routeFilterId, connectionId); + return localVarResp.getData(); + } + + /** + * Detach Route Filter + * This API provides capability to detach a Route Filter from a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @return ApiResponse<ConnectionRouteFilterData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse detachConnectionRouteFilterWithHttpInfo(String routeFilterId, String connectionId) throws ApiException { + okhttp3.Call localVarCall = detachConnectionRouteFilterValidateBeforeCall(routeFilterId, connectionId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Detach Route Filter (asynchronously) + * This API provides capability to detach a Route Filter from a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call detachConnectionRouteFilterAsync(String routeFilterId, String connectionId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = detachConnectionRouteFilterValidateBeforeCall(routeFilterId, connectionId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getConnectionRouteFilterByUuid + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getConnectionRouteFilterByUuidCall(String routeFilterId, String connectionId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "connectionId" + "}", localVarApiClient.escapeString(connectionId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getConnectionRouteFilterByUuidValidateBeforeCall(String routeFilterId, String connectionId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getConnectionRouteFilterByUuid(Async)"); + } + + // verify the required parameter 'connectionId' is set + if (connectionId == null) { + throw new ApiException("Missing the required parameter 'connectionId' when calling getConnectionRouteFilterByUuid(Async)"); + } + + return getConnectionRouteFilterByUuidCall(routeFilterId, connectionId, _callback); + + } + + /** + * Get Route Filter + * This API provides capability to view a specific Route Filter attached to a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @return ConnectionRouteFilterData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ConnectionRouteFilterData getConnectionRouteFilterByUuid(String routeFilterId, String connectionId) throws ApiException { + ApiResponse localVarResp = getConnectionRouteFilterByUuidWithHttpInfo(routeFilterId, connectionId); + return localVarResp.getData(); + } + + /** + * Get Route Filter + * This API provides capability to view a specific Route Filter attached to a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @return ApiResponse<ConnectionRouteFilterData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse getConnectionRouteFilterByUuidWithHttpInfo(String routeFilterId, String connectionId) throws ApiException { + okhttp3.Call localVarCall = getConnectionRouteFilterByUuidValidateBeforeCall(routeFilterId, connectionId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get Route Filter (asynchronously) + * This API provides capability to view a specific Route Filter attached to a Connection + * @param routeFilterId Route Filters Id (required) + * @param connectionId Connection Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getConnectionRouteFilterByUuidAsync(String routeFilterId, String connectionId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getConnectionRouteFilterByUuidValidateBeforeCall(routeFilterId, connectionId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getConnectionRouteFilters + * @param connectionId Connection Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getConnectionRouteFiltersCall(String connectionId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/connections/{connectionId}/routeFilters" + .replace("{" + "connectionId" + "}", localVarApiClient.escapeString(connectionId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getConnectionRouteFiltersValidateBeforeCall(String connectionId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'connectionId' is set + if (connectionId == null) { + throw new ApiException("Missing the required parameter 'connectionId' when calling getConnectionRouteFilters(Async)"); + } + + return getConnectionRouteFiltersCall(connectionId, _callback); + + } + + /** + * Get All RouteFilters + * This API provides capability to view all Route Filters attached to a Connection + * @param connectionId Connection Id (required) + * @return GetAllConnectionRouteFiltersResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public GetAllConnectionRouteFiltersResponse getConnectionRouteFilters(String connectionId) throws ApiException { + ApiResponse localVarResp = getConnectionRouteFiltersWithHttpInfo(connectionId); + return localVarResp.getData(); + } + + /** + * Get All RouteFilters + * This API provides capability to view all Route Filters attached to a Connection + * @param connectionId Connection Id (required) + * @return ApiResponse<GetAllConnectionRouteFiltersResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse getConnectionRouteFiltersWithHttpInfo(String connectionId) throws ApiException { + okhttp3.Call localVarCall = getConnectionRouteFiltersValidateBeforeCall(connectionId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get All RouteFilters (asynchronously) + * This API provides capability to view all Route Filters attached to a Connection + * @param connectionId Connection Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getConnectionRouteFiltersAsync(String connectionId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getConnectionRouteFiltersValidateBeforeCall(connectionId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterByUuid + * @param routeFilterId Route Filters Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterByUuidCall(String routeFilterId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterByUuidValidateBeforeCall(String routeFilterId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterByUuid(Async)"); + } + + return getRouteFilterByUuidCall(routeFilterId, _callback); + + } + + /** + * Get Filter By UUID + * This API provides capability to view a Route Filter by UUID + * @param routeFilterId Route Filters Id (required) + * @return RouteFiltersData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFiltersData getRouteFilterByUuid(String routeFilterId) throws ApiException { + ApiResponse localVarResp = getRouteFilterByUuidWithHttpInfo(routeFilterId); + return localVarResp.getData(); + } + + /** + * Get Filter By UUID + * This API provides capability to view a Route Filter by UUID + * @param routeFilterId Route Filters Id (required) + * @return ApiResponse<RouteFiltersData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterByUuidWithHttpInfo(String routeFilterId) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterByUuidValidateBeforeCall(routeFilterId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get Filter By UUID (asynchronously) + * This API provides capability to view a Route Filter by UUID + * @param routeFilterId Route Filters Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterByUuidAsync(String routeFilterId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterByUuidValidateBeforeCall(routeFilterId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterChangeByUuid + * @param routeFilterId Route Filters Id (required) + * @param changeId Routing Protocol Change UUID (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterChangeByUuidCall(String routeFilterId, UUID changeId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())) + .replace("{" + "changeId" + "}", localVarApiClient.escapeString(changeId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterChangeByUuidValidateBeforeCall(String routeFilterId, UUID changeId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterChangeByUuid(Async)"); + } + + // verify the required parameter 'changeId' is set + if (changeId == null) { + throw new ApiException("Missing the required parameter 'changeId' when calling getRouteFilterChangeByUuid(Async)"); + } + + return getRouteFilterChangeByUuidCall(routeFilterId, changeId, _callback); + + } + + /** + * Get Change By ID + * This API provides capability to retrieve a specific Route Filter's Changes + * @param routeFilterId Route Filters Id (required) + * @param changeId Routing Protocol Change UUID (required) + * @return RouteFilterChangeData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public RouteFilterChangeData getRouteFilterChangeByUuid(String routeFilterId, UUID changeId) throws ApiException { + ApiResponse localVarResp = getRouteFilterChangeByUuidWithHttpInfo(routeFilterId, changeId); + return localVarResp.getData(); + } + + /** + * Get Change By ID + * This API provides capability to retrieve a specific Route Filter's Changes + * @param routeFilterId Route Filters Id (required) + * @param changeId Routing Protocol Change UUID (required) + * @return ApiResponse<RouteFilterChangeData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterChangeByUuidWithHttpInfo(String routeFilterId, UUID changeId) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterChangeByUuidValidateBeforeCall(routeFilterId, changeId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get Change By ID (asynchronously) + * This API provides capability to retrieve a specific Route Filter's Changes + * @param routeFilterId Route Filters Id (required) + * @param changeId Routing Protocol Change UUID (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterChangeByUuidAsync(String routeFilterId, UUID changeId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterChangeByUuidValidateBeforeCall(routeFilterId, changeId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterChanges + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterChangesCall(String routeFilterId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/changes" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (offset != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("offset", offset)); + } + + if (limit != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("limit", limit)); + } + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterChangesValidateBeforeCall(String routeFilterId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterChanges(Async)"); + } + + return getRouteFilterChangesCall(routeFilterId, offset, limit, _callback); + + } + + /** + * Get All Changes + * This API provides capability to retrieve all of a Route Filter's Changes + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return RouteFilterChangeDataResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public RouteFilterChangeDataResponse getRouteFilterChanges(String routeFilterId, Integer offset, Integer limit) throws ApiException { + ApiResponse localVarResp = getRouteFilterChangesWithHttpInfo(routeFilterId, offset, limit); + return localVarResp.getData(); + } + + /** + * Get All Changes + * This API provides capability to retrieve all of a Route Filter's Changes + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return ApiResponse<RouteFilterChangeDataResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterChangesWithHttpInfo(String routeFilterId, Integer offset, Integer limit) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterChangesValidateBeforeCall(routeFilterId, offset, limit, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get All Changes (asynchronously) + * This API provides capability to retrieve all of a Route Filter's Changes + * @param routeFilterId Route Filters Id (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + +
Status Code Description Response Headers
200 Fabric Route Filter Change object -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterChangesAsync(String routeFilterId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterChangesValidateBeforeCall(routeFilterId, offset, limit, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getRouteFilterConnections + * @param routeFilterId Route Filters Id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterConnectionsCall(String routeFilterId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}/connections" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getRouteFilterConnectionsValidateBeforeCall(String routeFilterId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling getRouteFilterConnections(Async)"); + } + + return getRouteFilterConnectionsCall(routeFilterId, _callback); + + } + + /** + * Get Connections + * This API provides capability to view all Connections using the Route Filter + * @param routeFilterId Route Filters Id (required) + * @return GetRouteFilterGetConnectionsResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public GetRouteFilterGetConnectionsResponse getRouteFilterConnections(String routeFilterId) throws ApiException { + ApiResponse localVarResp = getRouteFilterConnectionsWithHttpInfo(routeFilterId); + return localVarResp.getData(); + } + + /** + * Get Connections + * This API provides capability to view all Connections using the Route Filter + * @param routeFilterId Route Filters Id (required) + * @return ApiResponse<GetRouteFilterGetConnectionsResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse getRouteFilterConnectionsWithHttpInfo(String routeFilterId) throws ApiException { + okhttp3.Call localVarCall = getRouteFilterConnectionsValidateBeforeCall(routeFilterId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get Connections (asynchronously) + * This API provides capability to view all Connections using the Route Filter + * @param routeFilterId Route Filters Id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call getRouteFilterConnectionsAsync(String routeFilterId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getRouteFilterConnectionsValidateBeforeCall(routeFilterId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for patchRouteFilterByUuid + * @param routeFilterId Route Filters Id (required) + * @param connectionChangeOperation (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call patchRouteFilterByUuidCall(String routeFilterId, List connectionChangeOperation, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = connectionChangeOperation; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call patchRouteFilterByUuidValidateBeforeCall(String routeFilterId, List connectionChangeOperation, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling patchRouteFilterByUuid(Async)"); + } + + // verify the required parameter 'connectionChangeOperation' is set + if (connectionChangeOperation == null) { + throw new ApiException("Missing the required parameter 'connectionChangeOperation' when calling patchRouteFilterByUuid(Async)"); + } + + return patchRouteFilterByUuidCall(routeFilterId, connectionChangeOperation, _callback); + + } + + /** + * Patch Route Filter + * This API provides capability to partially update a Route Filter + * @param routeFilterId Route Filters Id (required) + * @param connectionChangeOperation (required) + * @return RouteFiltersData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFiltersData patchRouteFilterByUuid(String routeFilterId, List connectionChangeOperation) throws ApiException { + ApiResponse localVarResp = patchRouteFilterByUuidWithHttpInfo(routeFilterId, connectionChangeOperation); + return localVarResp.getData(); + } + + /** + * Patch Route Filter + * This API provides capability to partially update a Route Filter + * @param routeFilterId Route Filters Id (required) + * @param connectionChangeOperation (required) + * @return ApiResponse<RouteFiltersData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse patchRouteFilterByUuidWithHttpInfo(String routeFilterId, List connectionChangeOperation) throws ApiException { + okhttp3.Call localVarCall = patchRouteFilterByUuidValidateBeforeCall(routeFilterId, connectionChangeOperation, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Patch Route Filter (asynchronously) + * This API provides capability to partially update a Route Filter + * @param routeFilterId Route Filters Id (required) + * @param connectionChangeOperation (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call patchRouteFilterByUuidAsync(String routeFilterId, List connectionChangeOperation, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = patchRouteFilterByUuidValidateBeforeCall(routeFilterId, connectionChangeOperation, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for replaceRouteFilterByUuid + * @param routeFilterId Route Filters Id (required) + * @param routeFiltersBase (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call replaceRouteFilterByUuidCall(String routeFilterId, RouteFiltersBase routeFiltersBase, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = routeFiltersBase; + + // create path and map variables + String localVarPath = "/fabric/v4/routeFilters/{routeFilterId}" + .replace("{" + "routeFilterId" + "}", localVarApiClient.escapeString(routeFilterId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call replaceRouteFilterByUuidValidateBeforeCall(String routeFilterId, RouteFiltersBase routeFiltersBase, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'routeFilterId' is set + if (routeFilterId == null) { + throw new ApiException("Missing the required parameter 'routeFilterId' when calling replaceRouteFilterByUuid(Async)"); + } + + // verify the required parameter 'routeFiltersBase' is set + if (routeFiltersBase == null) { + throw new ApiException("Missing the required parameter 'routeFiltersBase' when calling replaceRouteFilterByUuid(Async)"); + } + + return replaceRouteFilterByUuidCall(routeFilterId, routeFiltersBase, _callback); + + } + + /** + * Replace Route Filter + * This API provides capability to replace a Route Filter completely + * @param routeFilterId Route Filters Id (required) + * @param routeFiltersBase (required) + * @return RouteFiltersData + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public RouteFiltersData replaceRouteFilterByUuid(String routeFilterId, RouteFiltersBase routeFiltersBase) throws ApiException { + ApiResponse localVarResp = replaceRouteFilterByUuidWithHttpInfo(routeFilterId, routeFiltersBase); + return localVarResp.getData(); + } + + /** + * Replace Route Filter + * This API provides capability to replace a Route Filter completely + * @param routeFilterId Route Filters Id (required) + * @param routeFiltersBase (required) + * @return ApiResponse<RouteFiltersData> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public ApiResponse replaceRouteFilterByUuidWithHttpInfo(String routeFilterId, RouteFiltersBase routeFiltersBase) throws ApiException { + okhttp3.Call localVarCall = replaceRouteFilterByUuidValidateBeforeCall(routeFilterId, routeFiltersBase, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Replace Route Filter (asynchronously) + * This API provides capability to replace a Route Filter completely + * @param routeFilterId Route Filters Id (required) + * @param routeFiltersBase (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + + +
Status Code Description Response Headers
202 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
404 Route Filter ID Not Found -
415 Unsupported Media Type -
500 Internal server error -
+ */ + public okhttp3.Call replaceRouteFilterByUuidAsync(String routeFilterId, RouteFiltersBase routeFiltersBase, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = replaceRouteFilterByUuidValidateBeforeCall(routeFilterId, routeFiltersBase, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApi.java index de203da9..08083b18 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApi.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApi.java @@ -38,7 +38,7 @@ import com.equinix.openapi.fabric.v4.model.RoutingProtocolChangeDataResponse; import com.equinix.openapi.fabric.v4.model.RoutingProtocolData; import java.util.UUID; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequest; +import com.equinix.openapi.fabric.v4.model.ValidateRequest; import com.equinix.openapi.fabric.v4.model.ValidateSubnetResponse; import java.lang.reflect.Type; @@ -2044,7 +2044,7 @@ public okhttp3.Call replaceConnectionRoutingProtocolByUuidAsync(UUID routingProt /** * Build call for validateRoutingProtocol * @param routerId Cloud Router UUID (required) - * @param validateSubnetRequest (required) + * @param validateRequest (required) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -2055,7 +2055,7 @@ public okhttp3.Call replaceConnectionRoutingProtocolByUuidAsync(UUID routingProt 400 Bad request - */ - public okhttp3.Call validateRoutingProtocolCall(UUID routerId, ValidateSubnetRequest validateSubnetRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call validateRoutingProtocolCall(UUID routerId, ValidateRequest validateRequest, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -2069,7 +2069,7 @@ public okhttp3.Call validateRoutingProtocolCall(UUID routerId, ValidateSubnetReq basePath = null; } - Object localVarPostBody = validateSubnetRequest; + Object localVarPostBody = validateRequest; // create path and map variables String localVarPath = "/fabric/v4/routers/{routerId}/validate" @@ -2102,18 +2102,18 @@ public okhttp3.Call validateRoutingProtocolCall(UUID routerId, ValidateSubnetReq } @SuppressWarnings("rawtypes") - private okhttp3.Call validateRoutingProtocolValidateBeforeCall(UUID routerId, ValidateSubnetRequest validateSubnetRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call validateRoutingProtocolValidateBeforeCall(UUID routerId, ValidateRequest validateRequest, final ApiCallback _callback) throws ApiException { // verify the required parameter 'routerId' is set if (routerId == null) { throw new ApiException("Missing the required parameter 'routerId' when calling validateRoutingProtocol(Async)"); } - // verify the required parameter 'validateSubnetRequest' is set - if (validateSubnetRequest == null) { - throw new ApiException("Missing the required parameter 'validateSubnetRequest' when calling validateRoutingProtocol(Async)"); + // verify the required parameter 'validateRequest' is set + if (validateRequest == null) { + throw new ApiException("Missing the required parameter 'validateRequest' when calling validateRoutingProtocol(Async)"); } - return validateRoutingProtocolCall(routerId, validateSubnetRequest, _callback); + return validateRoutingProtocolCall(routerId, validateRequest, _callback); } @@ -2121,7 +2121,7 @@ private okhttp3.Call validateRoutingProtocolValidateBeforeCall(UUID routerId, Va * Validate Subnet * This API provides capability to validate all subnets associated with any connection in the given FCR * @param routerId Cloud Router UUID (required) - * @param validateSubnetRequest (required) + * @param validateRequest (required) * @return ValidateSubnetResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -2131,8 +2131,8 @@ private okhttp3.Call validateRoutingProtocolValidateBeforeCall(UUID routerId, Va 400 Bad request - */ - public ValidateSubnetResponse validateRoutingProtocol(UUID routerId, ValidateSubnetRequest validateSubnetRequest) throws ApiException { - ApiResponse localVarResp = validateRoutingProtocolWithHttpInfo(routerId, validateSubnetRequest); + public ValidateSubnetResponse validateRoutingProtocol(UUID routerId, ValidateRequest validateRequest) throws ApiException { + ApiResponse localVarResp = validateRoutingProtocolWithHttpInfo(routerId, validateRequest); return localVarResp.getData(); } @@ -2140,7 +2140,7 @@ public ValidateSubnetResponse validateRoutingProtocol(UUID routerId, ValidateSub * Validate Subnet * This API provides capability to validate all subnets associated with any connection in the given FCR * @param routerId Cloud Router UUID (required) - * @param validateSubnetRequest (required) + * @param validateRequest (required) * @return ApiResponse<ValidateSubnetResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -2150,8 +2150,8 @@ public ValidateSubnetResponse validateRoutingProtocol(UUID routerId, ValidateSub 400 Bad request - */ - public ApiResponse validateRoutingProtocolWithHttpInfo(UUID routerId, ValidateSubnetRequest validateSubnetRequest) throws ApiException { - okhttp3.Call localVarCall = validateRoutingProtocolValidateBeforeCall(routerId, validateSubnetRequest, null); + public ApiResponse validateRoutingProtocolWithHttpInfo(UUID routerId, ValidateRequest validateRequest) throws ApiException { + okhttp3.Call localVarCall = validateRoutingProtocolValidateBeforeCall(routerId, validateRequest, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -2160,7 +2160,7 @@ public ApiResponse validateRoutingProtocolWithHttpInfo(U * Validate Subnet (asynchronously) * This API provides capability to validate all subnets associated with any connection in the given FCR * @param routerId Cloud Router UUID (required) - * @param validateSubnetRequest (required) + * @param validateRequest (required) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -2171,9 +2171,9 @@ public ApiResponse validateRoutingProtocolWithHttpInfo(U 400 Bad request - */ - public okhttp3.Call validateRoutingProtocolAsync(UUID routerId, ValidateSubnetRequest validateSubnetRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call validateRoutingProtocolAsync(UUID routerId, ValidateRequest validateRequest, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = validateRoutingProtocolValidateBeforeCall(routerId, validateSubnetRequest, _callback); + okhttp3.Call localVarCall = validateRoutingProtocolValidateBeforeCall(routerId, validateRequest, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApi.java index 790de566..acf2db66 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApi.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApi.java @@ -28,6 +28,7 @@ import com.equinix.openapi.fabric.v4.model.Error; import com.equinix.openapi.fabric.v4.model.JsonPatchOperation; +import com.equinix.openapi.fabric.v4.model.ServiceMetros; import com.equinix.openapi.fabric.v4.model.ServiceProfile; import com.equinix.openapi.fabric.v4.model.ServiceProfileRequest; import com.equinix.openapi.fabric.v4.model.ServiceProfileSearchRequest; @@ -510,6 +511,162 @@ public okhttp3.Call getServiceProfileByUuidAsync(UUID serviceProfileId, String v localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for getServiceProfileMetrosByUuid + * @param serviceProfileId Service Profile UUID (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
500 Internal Server Error -
+ */ + public okhttp3.Call getServiceProfileMetrosByUuidCall(UUID serviceProfileId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/fabric/v4/serviceProfiles/{serviceProfileId}/metros" + .replace("{" + "serviceProfileId" + "}", localVarApiClient.escapeString(serviceProfileId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (offset != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("offset", offset)); + } + + if (limit != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("limit", limit)); + } + + final String[] localVarAccepts = { + "application/json; charset=UTF-8", + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "BearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getServiceProfileMetrosByUuidValidateBeforeCall(UUID serviceProfileId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'serviceProfileId' is set + if (serviceProfileId == null) { + throw new ApiException("Missing the required parameter 'serviceProfileId' when calling getServiceProfileMetrosByUuid(Async)"); + } + + return getServiceProfileMetrosByUuidCall(serviceProfileId, offset, limit, _callback); + + } + + /** + * Get Profile Metros + * Get service profile metros by UUID. + * @param serviceProfileId Service Profile UUID (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return ServiceMetros + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
500 Internal Server Error -
+ */ + public ServiceMetros getServiceProfileMetrosByUuid(UUID serviceProfileId, Integer offset, Integer limit) throws ApiException { + ApiResponse localVarResp = getServiceProfileMetrosByUuidWithHttpInfo(serviceProfileId, offset, limit); + return localVarResp.getData(); + } + + /** + * Get Profile Metros + * Get service profile metros by UUID. + * @param serviceProfileId Service Profile UUID (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @return ApiResponse<ServiceMetros> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
500 Internal Server Error -
+ */ + public ApiResponse getServiceProfileMetrosByUuidWithHttpInfo(UUID serviceProfileId, Integer offset, Integer limit) throws ApiException { + okhttp3.Call localVarCall = getServiceProfileMetrosByUuidValidateBeforeCall(serviceProfileId, offset, limit, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get Profile Metros (asynchronously) + * Get service profile metros by UUID. + * @param serviceProfileId Service Profile UUID (required) + * @param offset offset (optional) + * @param limit number of records to fetch (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + +
Status Code Description Response Headers
200 Successful operation -
400 Bad request -
401 Unauthorized -
403 Forbidden -
500 Internal Server Error -
+ */ + public okhttp3.Call getServiceProfileMetrosByUuidAsync(UUID serviceProfileId, Integer offset, Integer limit, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getServiceProfileMetrosByUuidValidateBeforeCall(serviceProfileId, offset, limit, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for getServiceProfiles * @param offset offset (optional) diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPoint.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPoint.java index 8b42ba8a..b71389f4 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPoint.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPoint.java @@ -25,6 +25,7 @@ import com.equinix.openapi.fabric.v4.model.SimplifiedPort; import com.equinix.openapi.fabric.v4.model.SimplifiedServiceProfile; import com.equinix.openapi.fabric.v4.model.VirtualDevice; +import com.equinix.openapi.fabric.v4.model.VirtualNetwork; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -114,6 +115,10 @@ public class AccessPoint { @SerializedName(SERIALIZED_NAME_PROVIDER_CONNECTION_ID) private String providerConnectionId; + public static final String SERIALIZED_NAME_VIRTUAL_NETWORK = "virtualNetwork"; + @SerializedName(SERIALIZED_NAME_VIRTUAL_NETWORK) + private VirtualNetwork virtualNetwork; + public AccessPoint() { } @@ -424,6 +429,28 @@ public void setProviderConnectionId(String providerConnectionId) { this.providerConnectionId = providerConnectionId; } + + public AccessPoint virtualNetwork(VirtualNetwork virtualNetwork) { + + this.virtualNetwork = virtualNetwork; + return this; + } + + /** + * Get virtualNetwork + * @return virtualNetwork + **/ + @javax.annotation.Nullable + + public VirtualNetwork getVirtualNetwork() { + return virtualNetwork; + } + + + public void setVirtualNetwork(VirtualNetwork virtualNetwork) { + this.virtualNetwork = virtualNetwork; + } + /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -492,13 +519,14 @@ public boolean equals(Object o) { Objects.equals(this.sellerRegion, accessPoint.sellerRegion) && Objects.equals(this.peeringType, accessPoint.peeringType) && Objects.equals(this.authenticationKey, accessPoint.authenticationKey) && - Objects.equals(this.providerConnectionId, accessPoint.providerConnectionId)&& + Objects.equals(this.providerConnectionId, accessPoint.providerConnectionId) && + Objects.equals(this.virtualNetwork, accessPoint.virtualNetwork)&& Objects.equals(this.additionalProperties, accessPoint.additionalProperties); } @Override public int hashCode() { - return Objects.hash(type, account, location, port, profile, router, linkProtocol, virtualDevice, _interface, network, sellerRegion, peeringType, authenticationKey, providerConnectionId, additionalProperties); + return Objects.hash(type, account, location, port, profile, router, linkProtocol, virtualDevice, _interface, network, sellerRegion, peeringType, authenticationKey, providerConnectionId, virtualNetwork, additionalProperties); } @Override @@ -519,6 +547,7 @@ public String toString() { sb.append(" peeringType: ").append(toIndentedString(peeringType)).append("\n"); sb.append(" authenticationKey: ").append(toIndentedString(authenticationKey)).append("\n"); sb.append(" providerConnectionId: ").append(toIndentedString(providerConnectionId)).append("\n"); + sb.append(" virtualNetwork: ").append(toIndentedString(virtualNetwork)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); @@ -556,6 +585,7 @@ private String toIndentedString(Object o) { openapiFields.add("peeringType"); openapiFields.add("authenticationKey"); openapiFields.add("providerConnectionId"); + openapiFields.add("virtualNetwork"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -618,6 +648,10 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if ((jsonObj.get("providerConnectionId") != null && !jsonObj.get("providerConnectionId").isJsonNull()) && !jsonObj.get("providerConnectionId").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `providerConnectionId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("providerConnectionId").toString())); } + // validate the optional field `virtualNetwork` + if (jsonObj.get("virtualNetwork") != null && !jsonObj.get("virtualNetwork").isJsonNull()) { + VirtualNetwork.validateJsonObject(jsonObj.getAsJsonObject("virtualNetwork")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPointType.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPointType.java index 91da7ff6..6b24c1b2 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPointType.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/AccessPointType.java @@ -42,7 +42,9 @@ public enum AccessPointType { CLOUD_ROUTER("CLOUD_ROUTER"), - NETWORK("NETWORK"); + NETWORK("NETWORK"), + + METAL_NETWORK("METAL_NETWORK"); private String value; diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPackageType.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPackageType.java index 67f57cea..2173a6db 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPackageType.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPackageType.java @@ -110,7 +110,7 @@ public enum CodeEnum { BASIC("BASIC"), - PRO("PRO"), + STANDARD("STANDARD"), PREMIUM("PREMIUM"); diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Code.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Code.java index fc52c522..c8e2d702 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Code.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Code.java @@ -32,7 +32,7 @@ public enum Code { BASIC("BASIC"), - PRO("PRO"), + STANDARD("STANDARD"), PREMIUM("PREMIUM"); diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterData.java new file mode 100644 index 00000000..2c27d4c5 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterData.java @@ -0,0 +1,556 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * ConnectionRouteFilterData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ConnectionRouteFilterData { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + /** + * Route Filter type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER("BGP_IPv4_PREFIX_FILTER"), + + IPV6_PREFIX_FILTER("BGP_IPv6_PREFIX_FILTER"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private UUID uuid; + + /** + * Gets or Sets attachmentStatus + */ + @JsonAdapter(AttachmentStatusEnum.Adapter.class) + public enum AttachmentStatusEnum { + ATTACHING("ATTACHING"), + + ATTACHED("ATTACHED"), + + DETACHED("DETACHED"), + + DETACHING("DETACHING"), + + FAILED("FAILED"); + + private String value; + + AttachmentStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AttachmentStatusEnum fromValue(String value) { + for (AttachmentStatusEnum b : AttachmentStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AttachmentStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AttachmentStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AttachmentStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ATTACHMENT_STATUS = "attachmentStatus"; + @SerializedName(SERIALIZED_NAME_ATTACHMENT_STATUS) + private AttachmentStatusEnum attachmentStatus; + + /** + * Gets or Sets direction + */ + @JsonAdapter(DirectionEnum.Adapter.class) + public enum DirectionEnum { + INBOUND("INBOUND"), + + OUTBOUND("OUTBOUND"); + + private String value; + + DirectionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DirectionEnum fromValue(String value) { + for (DirectionEnum b : DirectionEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DirectionEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DirectionEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DirectionEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private DirectionEnum direction; + + public ConnectionRouteFilterData() { + } + + public ConnectionRouteFilterData href(URI href) { + + this.href = href; + return this; + } + + /** + * Route Filter URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + + public ConnectionRouteFilterData type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Route Filter type + * @return type + **/ + @javax.annotation.Nullable + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public ConnectionRouteFilterData uuid(UUID uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Route Filter identifier + * @return uuid + **/ + @javax.annotation.Nullable + + public UUID getUuid() { + return uuid; + } + + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + + public ConnectionRouteFilterData attachmentStatus(AttachmentStatusEnum attachmentStatus) { + + this.attachmentStatus = attachmentStatus; + return this; + } + + /** + * Get attachmentStatus + * @return attachmentStatus + **/ + @javax.annotation.Nullable + + public AttachmentStatusEnum getAttachmentStatus() { + return attachmentStatus; + } + + + public void setAttachmentStatus(AttachmentStatusEnum attachmentStatus) { + this.attachmentStatus = attachmentStatus; + } + + + public ConnectionRouteFilterData direction(DirectionEnum direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + + public DirectionEnum getDirection() { + return direction; + } + + + public void setDirection(DirectionEnum direction) { + this.direction = direction; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the ConnectionRouteFilterData instance itself + */ + public ConnectionRouteFilterData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionRouteFilterData connectionRouteFilterData = (ConnectionRouteFilterData) o; + return Objects.equals(this.href, connectionRouteFilterData.href) && + Objects.equals(this.type, connectionRouteFilterData.type) && + Objects.equals(this.uuid, connectionRouteFilterData.uuid) && + Objects.equals(this.attachmentStatus, connectionRouteFilterData.attachmentStatus) && + Objects.equals(this.direction, connectionRouteFilterData.direction)&& + Objects.equals(this.additionalProperties, connectionRouteFilterData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(href, type, uuid, attachmentStatus, direction, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectionRouteFilterData {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" attachmentStatus: ").append(toIndentedString(attachmentStatus)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("href"); + openapiFields.add("type"); + openapiFields.add("uuid"); + openapiFields.add("attachmentStatus"); + openapiFields.add("direction"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to ConnectionRouteFilterData + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!ConnectionRouteFilterData.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ConnectionRouteFilterData is not found in the empty JSON string", ConnectionRouteFilterData.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonNull()) && !jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if ((jsonObj.get("attachmentStatus") != null && !jsonObj.get("attachmentStatus").isJsonNull()) && !jsonObj.get("attachmentStatus").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `attachmentStatus` to be a primitive type in the JSON string but got `%s`", jsonObj.get("attachmentStatus").toString())); + } + if ((jsonObj.get("direction") != null && !jsonObj.get("direction").isJsonNull()) && !jsonObj.get("direction").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `direction` to be a primitive type in the JSON string but got `%s`", jsonObj.get("direction").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ConnectionRouteFilterData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ConnectionRouteFilterData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ConnectionRouteFilterData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ConnectionRouteFilterData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public ConnectionRouteFilterData read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + ConnectionRouteFilterData instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ConnectionRouteFilterData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ConnectionRouteFilterData + * @throws IOException if the JSON string is invalid with respect to ConnectionRouteFilterData + */ + public static ConnectionRouteFilterData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ConnectionRouteFilterData.class); + } + + /** + * Convert an instance of ConnectionRouteFilterData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBase.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBase.java new file mode 100644 index 00000000..fc71fd33 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBase.java @@ -0,0 +1,326 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * ConnectionRouteFiltersBase + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ConnectionRouteFiltersBase { + /** + * Route Filter direction to attach to a connection + */ + @JsonAdapter(DirectionEnum.Adapter.class) + public enum DirectionEnum { + INBOUND("INBOUND"), + + OUTBOUND("OUTBOUND"); + + private String value; + + DirectionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DirectionEnum fromValue(String value) { + for (DirectionEnum b : DirectionEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DirectionEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DirectionEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DirectionEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private DirectionEnum direction; + + public ConnectionRouteFiltersBase() { + } + + public ConnectionRouteFiltersBase direction(DirectionEnum direction) { + + this.direction = direction; + return this; + } + + /** + * Route Filter direction to attach to a connection + * @return direction + **/ + @javax.annotation.Nullable + + public DirectionEnum getDirection() { + return direction; + } + + + public void setDirection(DirectionEnum direction) { + this.direction = direction; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the ConnectionRouteFiltersBase instance itself + */ + public ConnectionRouteFiltersBase putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionRouteFiltersBase connectionRouteFiltersBase = (ConnectionRouteFiltersBase) o; + return Objects.equals(this.direction, connectionRouteFiltersBase.direction)&& + Objects.equals(this.additionalProperties, connectionRouteFiltersBase.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(direction, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectionRouteFiltersBase {\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("direction"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to ConnectionRouteFiltersBase + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!ConnectionRouteFiltersBase.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ConnectionRouteFiltersBase is not found in the empty JSON string", ConnectionRouteFiltersBase.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("direction") != null && !jsonObj.get("direction").isJsonNull()) && !jsonObj.get("direction").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `direction` to be a primitive type in the JSON string but got `%s`", jsonObj.get("direction").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ConnectionRouteFiltersBase.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ConnectionRouteFiltersBase' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ConnectionRouteFiltersBase.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ConnectionRouteFiltersBase value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public ConnectionRouteFiltersBase read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + ConnectionRouteFiltersBase instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ConnectionRouteFiltersBase given an JSON string + * + * @param jsonString JSON string + * @return An instance of ConnectionRouteFiltersBase + * @throws IOException if the JSON string is invalid with respect to ConnectionRouteFiltersBase + */ + public static ConnectionRouteFiltersBase fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ConnectionRouteFiltersBase.class); + } + + /** + * Convert an instance of ConnectionRouteFiltersBase to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/FabricCloudRouterCode.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/FabricCloudRouterCode.java index f4877dbd..ca6014eb 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/FabricCloudRouterCode.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/FabricCloudRouterCode.java @@ -32,7 +32,7 @@ public enum FabricCloudRouterCode { BASIC("BASIC"), - PRO("PRO"), + STANDARD("STANDARD"), PREMIUM("PREMIUM"); diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponse.java similarity index 79% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponse.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponse.java index c321b7e0..88ca3337 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponse.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponse.java @@ -14,7 +14,7 @@ import java.util.Objects; import java.util.Arrays; -import com.equinix.openapi.fabric.v4.model.PackageResponse; +import com.equinix.openapi.fabric.v4.model.ConnectionRouteFilterData; import com.equinix.openapi.fabric.v4.model.Pagination; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; @@ -47,22 +47,22 @@ import com.equinix.openapi.fabric.JSON; /** - * Precision Packages + * GetAllConnectionRouteFiltersResponse */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class PrecisionTimeServicePackagesResponse { +public class GetAllConnectionRouteFiltersResponse { public static final String SERIALIZED_NAME_PAGINATION = "pagination"; @SerializedName(SERIALIZED_NAME_PAGINATION) private Pagination pagination; public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList<>(); + private List data = new ArrayList<>(); - public PrecisionTimeServicePackagesResponse() { + public GetAllConnectionRouteFiltersResponse() { } - public PrecisionTimeServicePackagesResponse pagination(Pagination pagination) { + public GetAllConnectionRouteFiltersResponse pagination(Pagination pagination) { this.pagination = pagination; return this; @@ -84,13 +84,13 @@ public void setPagination(Pagination pagination) { } - public PrecisionTimeServicePackagesResponse data(List data) { + public GetAllConnectionRouteFiltersResponse data(List data) { this.data = data; return this; } - public PrecisionTimeServicePackagesResponse addDataItem(PackageResponse dataItem) { + public GetAllConnectionRouteFiltersResponse addDataItem(ConnectionRouteFilterData dataItem) { if (this.data == null) { this.data = new ArrayList<>(); } @@ -99,17 +99,17 @@ public PrecisionTimeServicePackagesResponse addDataItem(PackageResponse dataItem } /** - * Data returned from the API call + * List of Route Filters attached to a Connection * @return data **/ @javax.annotation.Nullable - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -126,9 +126,9 @@ public void setData(List data) { * * @param key name of the property * @param value value of the property - * @return the PrecisionTimeServicePackagesResponse instance itself + * @return the GetAllConnectionRouteFiltersResponse instance itself */ - public PrecisionTimeServicePackagesResponse putAdditionalProperty(String key, Object value) { + public GetAllConnectionRouteFiltersResponse putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -167,10 +167,10 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - PrecisionTimeServicePackagesResponse precisionTimeServicePackagesResponse = (PrecisionTimeServicePackagesResponse) o; - return Objects.equals(this.pagination, precisionTimeServicePackagesResponse.pagination) && - Objects.equals(this.data, precisionTimeServicePackagesResponse.data)&& - Objects.equals(this.additionalProperties, precisionTimeServicePackagesResponse.additionalProperties); + GetAllConnectionRouteFiltersResponse getAllConnectionRouteFiltersResponse = (GetAllConnectionRouteFiltersResponse) o; + return Objects.equals(this.pagination, getAllConnectionRouteFiltersResponse.pagination) && + Objects.equals(this.data, getAllConnectionRouteFiltersResponse.data)&& + Objects.equals(this.additionalProperties, getAllConnectionRouteFiltersResponse.additionalProperties); } @Override @@ -181,7 +181,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class PrecisionTimeServicePackagesResponse {\n"); + sb.append("class GetAllConnectionRouteFiltersResponse {\n"); sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); @@ -218,12 +218,12 @@ private String toIndentedString(Object o) { * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to PrecisionTimeServicePackagesResponse + * @throws IOException if the JSON Object is invalid with respect to GetAllConnectionRouteFiltersResponse */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!PrecisionTimeServicePackagesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in PrecisionTimeServicePackagesResponse is not found in the empty JSON string", PrecisionTimeServicePackagesResponse.openapiRequiredFields.toString())); + if (!GetAllConnectionRouteFiltersResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in GetAllConnectionRouteFiltersResponse is not found in the empty JSON string", GetAllConnectionRouteFiltersResponse.openapiRequiredFields.toString())); } } // validate the optional field `pagination` @@ -240,7 +240,7 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException { // validate the optional field `data` (array) for (int i = 0; i < jsonArraydata.size(); i++) { - PackageResponse.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + ConnectionRouteFilterData.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); }; } } @@ -250,16 +250,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!PrecisionTimeServicePackagesResponse.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'PrecisionTimeServicePackagesResponse' and its subtypes + if (!GetAllConnectionRouteFiltersResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'GetAllConnectionRouteFiltersResponse' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(PrecisionTimeServicePackagesResponse.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(GetAllConnectionRouteFiltersResponse.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, PrecisionTimeServicePackagesResponse value) throws IOException { + public void write(JsonWriter out, GetAllConnectionRouteFiltersResponse value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -282,11 +282,11 @@ else if (entry.getValue() instanceof Character) } @Override - public PrecisionTimeServicePackagesResponse read(JsonReader in) throws IOException { + public GetAllConnectionRouteFiltersResponse read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - PrecisionTimeServicePackagesResponse instance = thisAdapter.fromJsonTree(jsonObj); + GetAllConnectionRouteFiltersResponse instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -313,18 +313,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of PrecisionTimeServicePackagesResponse given an JSON string + * Create an instance of GetAllConnectionRouteFiltersResponse given an JSON string * * @param jsonString JSON string - * @return An instance of PrecisionTimeServicePackagesResponse - * @throws IOException if the JSON string is invalid with respect to PrecisionTimeServicePackagesResponse + * @return An instance of GetAllConnectionRouteFiltersResponse + * @throws IOException if the JSON string is invalid with respect to GetAllConnectionRouteFiltersResponse */ - public static PrecisionTimeServicePackagesResponse fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, PrecisionTimeServicePackagesResponse.class); + public static GetAllConnectionRouteFiltersResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, GetAllConnectionRouteFiltersResponse.class); } /** - * Convert an instance of PrecisionTimeServicePackagesResponse to an JSON string + * Convert an instance of GetAllConnectionRouteFiltersResponse to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponse.java similarity index 76% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponse.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponse.java index c0ab6e18..45a3a6e0 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponse.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponse.java @@ -14,8 +14,8 @@ import java.util.Objects; import java.util.Arrays; -import com.equinix.openapi.fabric.v4.model.ConnectionLink; import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterConnectionsData; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -47,22 +47,22 @@ import com.equinix.openapi.fabric.JSON; /** - * EPT service instance's L2 connections + * GetRouteFilterGetConnectionsResponse */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class PrecisionTimeServiceConnectionsResponse { +public class GetRouteFilterGetConnectionsResponse { public static final String SERIALIZED_NAME_PAGINATION = "pagination"; @SerializedName(SERIALIZED_NAME_PAGINATION) private Pagination pagination; public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList<>(); + private List data = new ArrayList<>(); - public PrecisionTimeServiceConnectionsResponse() { + public GetRouteFilterGetConnectionsResponse() { } - public PrecisionTimeServiceConnectionsResponse pagination(Pagination pagination) { + public GetRouteFilterGetConnectionsResponse pagination(Pagination pagination) { this.pagination = pagination; return this; @@ -84,13 +84,13 @@ public void setPagination(Pagination pagination) { } - public PrecisionTimeServiceConnectionsResponse data(List data) { + public GetRouteFilterGetConnectionsResponse data(List data) { this.data = data; return this; } - public PrecisionTimeServiceConnectionsResponse addDataItem(ConnectionLink dataItem) { + public GetRouteFilterGetConnectionsResponse addDataItem(RouteFilterConnectionsData dataItem) { if (this.data == null) { this.data = new ArrayList<>(); } @@ -99,17 +99,17 @@ public PrecisionTimeServiceConnectionsResponse addDataItem(ConnectionLink dataIt } /** - * Data returned from the API call + * List of Connections using a Route Filter * @return data **/ @javax.annotation.Nullable - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -126,9 +126,9 @@ public void setData(List data) { * * @param key name of the property * @param value value of the property - * @return the PrecisionTimeServiceConnectionsResponse instance itself + * @return the GetRouteFilterGetConnectionsResponse instance itself */ - public PrecisionTimeServiceConnectionsResponse putAdditionalProperty(String key, Object value) { + public GetRouteFilterGetConnectionsResponse putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -167,10 +167,10 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - PrecisionTimeServiceConnectionsResponse precisionTimeServiceConnectionsResponse = (PrecisionTimeServiceConnectionsResponse) o; - return Objects.equals(this.pagination, precisionTimeServiceConnectionsResponse.pagination) && - Objects.equals(this.data, precisionTimeServiceConnectionsResponse.data)&& - Objects.equals(this.additionalProperties, precisionTimeServiceConnectionsResponse.additionalProperties); + GetRouteFilterGetConnectionsResponse getRouteFilterGetConnectionsResponse = (GetRouteFilterGetConnectionsResponse) o; + return Objects.equals(this.pagination, getRouteFilterGetConnectionsResponse.pagination) && + Objects.equals(this.data, getRouteFilterGetConnectionsResponse.data)&& + Objects.equals(this.additionalProperties, getRouteFilterGetConnectionsResponse.additionalProperties); } @Override @@ -181,7 +181,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class PrecisionTimeServiceConnectionsResponse {\n"); + sb.append("class GetRouteFilterGetConnectionsResponse {\n"); sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); @@ -218,12 +218,12 @@ private String toIndentedString(Object o) { * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to PrecisionTimeServiceConnectionsResponse + * @throws IOException if the JSON Object is invalid with respect to GetRouteFilterGetConnectionsResponse */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!PrecisionTimeServiceConnectionsResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in PrecisionTimeServiceConnectionsResponse is not found in the empty JSON string", PrecisionTimeServiceConnectionsResponse.openapiRequiredFields.toString())); + if (!GetRouteFilterGetConnectionsResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in GetRouteFilterGetConnectionsResponse is not found in the empty JSON string", GetRouteFilterGetConnectionsResponse.openapiRequiredFields.toString())); } } // validate the optional field `pagination` @@ -240,7 +240,7 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException { // validate the optional field `data` (array) for (int i = 0; i < jsonArraydata.size(); i++) { - ConnectionLink.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + RouteFilterConnectionsData.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); }; } } @@ -250,16 +250,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!PrecisionTimeServiceConnectionsResponse.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'PrecisionTimeServiceConnectionsResponse' and its subtypes + if (!GetRouteFilterGetConnectionsResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'GetRouteFilterGetConnectionsResponse' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(PrecisionTimeServiceConnectionsResponse.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(GetRouteFilterGetConnectionsResponse.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, PrecisionTimeServiceConnectionsResponse value) throws IOException { + public void write(JsonWriter out, GetRouteFilterGetConnectionsResponse value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -282,11 +282,11 @@ else if (entry.getValue() instanceof Character) } @Override - public PrecisionTimeServiceConnectionsResponse read(JsonReader in) throws IOException { + public GetRouteFilterGetConnectionsResponse read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - PrecisionTimeServiceConnectionsResponse instance = thisAdapter.fromJsonTree(jsonObj); + GetRouteFilterGetConnectionsResponse instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -313,18 +313,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of PrecisionTimeServiceConnectionsResponse given an JSON string + * Create an instance of GetRouteFilterGetConnectionsResponse given an JSON string * * @param jsonString JSON string - * @return An instance of PrecisionTimeServiceConnectionsResponse - * @throws IOException if the JSON string is invalid with respect to PrecisionTimeServiceConnectionsResponse + * @return An instance of GetRouteFilterGetConnectionsResponse + * @throws IOException if the JSON string is invalid with respect to GetRouteFilterGetConnectionsResponse */ - public static PrecisionTimeServiceConnectionsResponse fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, PrecisionTimeServiceConnectionsResponse.class); + public static GetRouteFilterGetConnectionsResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, GetRouteFilterGetConnectionsResponse.class); } /** - * Convert an instance of PrecisionTimeServiceConnectionsResponse to an JSON string + * Convert an instance of GetRouteFilterGetConnectionsResponse to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponse.java new file mode 100644 index 00000000..11e2f20b --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponse.java @@ -0,0 +1,335 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesData; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * GetRouteFilterRulesResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class GetRouteFilterRulesResponse { + public static final String SERIALIZED_NAME_PAGINATION = "pagination"; + @SerializedName(SERIALIZED_NAME_PAGINATION) + private Pagination pagination; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList<>(); + + public GetRouteFilterRulesResponse() { + } + + public GetRouteFilterRulesResponse pagination(Pagination pagination) { + + this.pagination = pagination; + return this; + } + + /** + * Get pagination + * @return pagination + **/ + @javax.annotation.Nullable + + public Pagination getPagination() { + return pagination; + } + + + public void setPagination(Pagination pagination) { + this.pagination = pagination; + } + + + public GetRouteFilterRulesResponse data(List data) { + + this.data = data; + return this; + } + + public GetRouteFilterRulesResponse addDataItem(RouteFilterRulesData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * List of Route Filter Rules + * @return data + **/ + @javax.annotation.Nullable + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the GetRouteFilterRulesResponse instance itself + */ + public GetRouteFilterRulesResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetRouteFilterRulesResponse getRouteFilterRulesResponse = (GetRouteFilterRulesResponse) o; + return Objects.equals(this.pagination, getRouteFilterRulesResponse.pagination) && + Objects.equals(this.data, getRouteFilterRulesResponse.data)&& + Objects.equals(this.additionalProperties, getRouteFilterRulesResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(pagination, data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetRouteFilterRulesResponse {\n"); + sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("pagination"); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to GetRouteFilterRulesResponse + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!GetRouteFilterRulesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in GetRouteFilterRulesResponse is not found in the empty JSON string", GetRouteFilterRulesResponse.openapiRequiredFields.toString())); + } + } + // validate the optional field `pagination` + if (jsonObj.get("pagination") != null && !jsonObj.get("pagination").isJsonNull()) { + Pagination.validateJsonObject(jsonObj.getAsJsonObject("pagination")); + } + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + if (jsonArraydata != null) { + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + // validate the optional field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + RouteFilterRulesData.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!GetRouteFilterRulesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'GetRouteFilterRulesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(GetRouteFilterRulesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, GetRouteFilterRulesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public GetRouteFilterRulesResponse read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + GetRouteFilterRulesResponse instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of GetRouteFilterRulesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of GetRouteFilterRulesResponse + * @throws IOException if the JSON string is invalid with respect to GetRouteFilterRulesResponse + */ + public static GetRouteFilterRulesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, GetRouteFilterRulesResponse.class); + } + + /** + * Convert an instance of GetRouteFilterRulesResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocol.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocol.java index 78c724e6..6fbf7e9d 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocol.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocol.java @@ -20,6 +20,7 @@ import com.equinix.openapi.fabric.v4.model.LinkProtocolQinq; import com.equinix.openapi.fabric.v4.model.LinkProtocolType; import com.equinix.openapi.fabric.v4.model.LinkProtocolUntagged; +import com.equinix.openapi.fabric.v4.model.LinkProtocolVxlan; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -76,6 +77,7 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterLinkProtocolEvpnVxlan = gson.getDelegateAdapter(this, TypeToken.get(LinkProtocolEvpnVxlan.class)); final TypeAdapter adapterLinkProtocolQinq = gson.getDelegateAdapter(this, TypeToken.get(LinkProtocolQinq.class)); final TypeAdapter adapterLinkProtocolUntagged = gson.getDelegateAdapter(this, TypeToken.get(LinkProtocolUntagged.class)); + final TypeAdapter adapterLinkProtocolVxlan = gson.getDelegateAdapter(this, TypeToken.get(LinkProtocolVxlan.class)); return (TypeAdapter) new TypeAdapter() { @Override @@ -113,7 +115,14 @@ public void write(JsonWriter out, LinkProtocol value) throws IOException { return; } - throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged"); + // check if the actual instance is of the type `LinkProtocolVxlan` + if (value.getActualInstance() instanceof LinkProtocolVxlan) { + JsonObject obj = adapterLinkProtocolVxlan.toJsonTree((LinkProtocolVxlan)value.getActualInstance()).getAsJsonObject(); + elementAdapter.write(out, obj); + return; + } + + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan"); } @Override @@ -177,6 +186,19 @@ public LinkProtocol read(JsonReader in) throws IOException { log.log(Level.FINER, "Input data does not match schema 'LinkProtocolUntagged'", e); } + // deserialize LinkProtocolVxlan + try { + // validate the JSON object to see if any exception is thrown + LinkProtocolVxlan.validateJsonObject(jsonObject); + actualAdapter = adapterLinkProtocolVxlan; + match++; + log.log(Level.FINER, "Input data matches schema 'LinkProtocolVxlan'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for LinkProtocolVxlan failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'LinkProtocolVxlan'", e); + } + if (match == 1) { LinkProtocol ret = new LinkProtocol(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonObject)); @@ -216,6 +238,11 @@ public LinkProtocol(LinkProtocolUntagged o) { setActualInstance(o); } + public LinkProtocol(LinkProtocolVxlan o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + static { schemas.put("LinkProtocolDot1q", new GenericType() { }); @@ -225,6 +252,8 @@ public LinkProtocol(LinkProtocolUntagged o) { }); schemas.put("LinkProtocolUntagged", new GenericType() { }); + schemas.put("LinkProtocolVxlan", new GenericType() { + }); } @Override @@ -235,7 +264,7 @@ public Map getSchemas() { /** * Set the instance that matches the oneOf child schema, check * the instance parameter is valid against the oneOf child schemas: - * LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged + * LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan * * It could be an instance of the 'oneOf' schemas. * The oneOf child schemas may themselves be a composed schema (allOf, anyOf, oneOf). @@ -262,14 +291,19 @@ public void setActualInstance(Object instance) { return; } - throw new RuntimeException("Invalid instance type. Must be LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged"); + if (instance instanceof LinkProtocolVxlan) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan"); } /** * Get the actual instance, which can be the following: - * LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged + * LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan * - * @return The actual instance (LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged) + * @return The actual instance (LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan) */ @Override public Object getActualInstance() { @@ -320,6 +354,17 @@ public LinkProtocolUntagged getLinkProtocolUntagged() throws ClassCastException return (LinkProtocolUntagged)super.getActualInstance(); } + /** + * Get the actual instance of `LinkProtocolVxlan`. If the actual instance is not `LinkProtocolVxlan`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `LinkProtocolVxlan` + * @throws ClassCastException if the instance is not `LinkProtocolVxlan` + */ + public LinkProtocolVxlan getLinkProtocolVxlan() throws ClassCastException { + return (LinkProtocolVxlan)super.getActualInstance(); + } + /** * Validates the JSON Object and throws an exception if issues found @@ -363,8 +408,16 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException { errorMessages.add(String.format("Deserialization for LinkProtocolUntagged failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with LinkProtocolVxlan + try { + LinkProtocolVxlan.validateJsonObject(jsonObj); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for LinkProtocolVxlan failed with `%s`.", e.getMessage())); + // continue to the next one + } if (validCount != 1) { - throw new IOException(String.format("The JSON string is invalid for LinkProtocol with oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonObj.toString())); + throw new IOException(String.format("The JSON string is invalid for LinkProtocol with oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonObj.toString())); } } diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolType.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolType.java index e2b9d495..a00eab50 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolType.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolType.java @@ -34,7 +34,9 @@ public enum LinkProtocolType { QINQ("QINQ"), - EVPN_VXLAN("EVPN_VXLAN"); + EVPN_VXLAN("EVPN_VXLAN"), + + VXLAN("VXLAN"); private String value; diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlan.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlan.java new file mode 100644 index 00000000..0a332120 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlan.java @@ -0,0 +1,316 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.LinkProtocolType; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Connection link protocol configuration - VXLAN + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class LinkProtocolVxlan { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private LinkProtocolType type; + + public static final String SERIALIZED_NAME_VNI = "vni"; + @SerializedName(SERIALIZED_NAME_VNI) + private Integer vni; + + public LinkProtocolVxlan() { + } + + public LinkProtocolVxlan type(LinkProtocolType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + + public LinkProtocolType getType() { + return type; + } + + + public void setType(LinkProtocolType type) { + this.type = type; + } + + + public LinkProtocolVxlan vni(Integer vni) { + + this.vni = vni; + return this; + } + + /** + * Virtual Network Identifier + * minimum: 4097 + * maximum: 16777215 + * @return vni + **/ + @javax.annotation.Nonnull + + public Integer getVni() { + return vni; + } + + + public void setVni(Integer vni) { + this.vni = vni; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the LinkProtocolVxlan instance itself + */ + public LinkProtocolVxlan putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkProtocolVxlan linkProtocolVxlan = (LinkProtocolVxlan) o; + return Objects.equals(this.type, linkProtocolVxlan.type) && + Objects.equals(this.vni, linkProtocolVxlan.vni)&& + Objects.equals(this.additionalProperties, linkProtocolVxlan.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(type, vni, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkProtocolVxlan {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" vni: ").append(toIndentedString(vni)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("vni"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("vni"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to LinkProtocolVxlan + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!LinkProtocolVxlan.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LinkProtocolVxlan is not found in the empty JSON string", LinkProtocolVxlan.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LinkProtocolVxlan.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LinkProtocolVxlan.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LinkProtocolVxlan' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LinkProtocolVxlan.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LinkProtocolVxlan value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public LinkProtocolVxlan read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + LinkProtocolVxlan instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LinkProtocolVxlan given an JSON string + * + * @param jsonString JSON string + * @return An instance of LinkProtocolVxlan + * @throws IOException if the JSON string is invalid with respect to LinkProtocolVxlan + */ + public static LinkProtocolVxlan fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LinkProtocolVxlan.class); + } + + /** + * Convert an instance of LinkProtocolVxlan to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ModelInterface.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ModelInterface.java index b1034ac2..584c9c3c 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ModelInterface.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ModelInterface.java @@ -45,7 +45,7 @@ import com.equinix.openapi.fabric.JSON; /** - * Virtual Device Interface Information + * Interface Information */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class ModelInterface { @@ -62,7 +62,7 @@ public class ModelInterface { private Integer id; /** - * Virtual Device Interface type + * Interface type */ @JsonAdapter(TypeEnum.Adapter.class) public enum TypeEnum { @@ -112,6 +112,10 @@ public TypeEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TYPE) private TypeEnum type; + public static final String SERIALIZED_NAME_PROJECT_ID = "projectId"; + @SerializedName(SERIALIZED_NAME_PROJECT_ID) + private String projectId; + public ModelInterface() { } @@ -124,7 +128,7 @@ public ModelInterface( } /** - * Virtual Interface URI + * Interface URI * @return href **/ @javax.annotation.Nullable @@ -143,7 +147,7 @@ public ModelInterface uuid(UUID uuid) { } /** - * Equinix-assigned Virtual Device Interface identifier + * Equinix-assigned Interface identifier * @return uuid **/ @javax.annotation.Nullable @@ -187,7 +191,7 @@ public ModelInterface type(TypeEnum type) { } /** - * Virtual Device Interface type + * Interface type * @return type **/ @javax.annotation.Nullable @@ -201,6 +205,28 @@ public void setType(TypeEnum type) { this.type = type; } + + public ModelInterface projectId(String projectId) { + + this.projectId = projectId; + return this; + } + + /** + * Interface Project ID + * @return projectId + **/ + @javax.annotation.Nullable + + public String getProjectId() { + return projectId; + } + + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -259,13 +285,14 @@ public boolean equals(Object o) { return Objects.equals(this.href, _interface.href) && Objects.equals(this.uuid, _interface.uuid) && Objects.equals(this.id, _interface.id) && - Objects.equals(this.type, _interface.type)&& + Objects.equals(this.type, _interface.type) && + Objects.equals(this.projectId, _interface.projectId)&& Objects.equals(this.additionalProperties, _interface.additionalProperties); } @Override public int hashCode() { - return Objects.hash(href, uuid, id, type, additionalProperties); + return Objects.hash(href, uuid, id, type, projectId, additionalProperties); } @Override @@ -276,6 +303,7 @@ public String toString() { sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); @@ -303,6 +331,7 @@ private String toIndentedString(Object o) { openapiFields.add("uuid"); openapiFields.add("id"); openapiFields.add("type"); + openapiFields.add("projectId"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -329,6 +358,9 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } + if ((jsonObj.get("projectId") != null && !jsonObj.get("projectId").isJsonNull()) && !jsonObj.get("projectId").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `projectId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("projectId").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeData.java new file mode 100644 index 00000000..7eb82519 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeData.java @@ -0,0 +1,671 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.RouteFiltersChangeOperation; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.time.OffsetDateTime; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Current state of latest Route Filter change + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterChangeData { + /** + * Current outcome of the change flow + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + COMPLETED("COMPLETED"), + + FAILED("FAILED"), + + REQUESTED("REQUESTED"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public static final String SERIALIZED_NAME_CREATED_BY = "createdBy"; + @SerializedName(SERIALIZED_NAME_CREATED_BY) + private String createdBy; + + public static final String SERIALIZED_NAME_CREATED_DATE_TIME = "createdDateTime"; + @SerializedName(SERIALIZED_NAME_CREATED_DATE_TIME) + private OffsetDateTime createdDateTime; + + public static final String SERIALIZED_NAME_UPDATED_BY = "updatedBy"; + @SerializedName(SERIALIZED_NAME_UPDATED_BY) + private String updatedBy; + + public static final String SERIALIZED_NAME_UPDATED_DATE_TIME = "updatedDateTime"; + @SerializedName(SERIALIZED_NAME_UPDATED_DATE_TIME) + private OffsetDateTime updatedDateTime; + + public static final String SERIALIZED_NAME_INFORMATION = "information"; + @SerializedName(SERIALIZED_NAME_INFORMATION) + private String information; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private RouteFiltersChangeOperation data; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private String uuid; + + /** + * Type of change + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER_UPDATE("BGP_IPv4_PREFIX_FILTER_UPDATE"), + + IPV4_PREFIX_FILTER_CREATION("BGP_IPv4_PREFIX_FILTER_CREATION"), + + IPV4_PREFIX_FILTER_DELETION("BGP_IPv4_PREFIX_FILTER_DELETION"), + + IPV6_PREFIX_FILTER_UPDATE("BGP_IPv6_PREFIX_FILTER_UPDATE"), + + IPV6_PREFIX_FILTER_CREATION("BGP_IPv6_PREFIX_FILTER_CREATION"), + + IPV6_PREFIX_FILTER_DELETION("BGP_IPv6_PREFIX_FILTER_DELETION"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public RouteFilterChangeData() { + } + + public RouteFilterChangeData status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * Current outcome of the change flow + * @return status + **/ + @javax.annotation.Nullable + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + + public RouteFilterChangeData createdBy(String createdBy) { + + this.createdBy = createdBy; + return this; + } + + /** + * Created by User Key + * @return createdBy + **/ + @javax.annotation.Nullable + + public String getCreatedBy() { + return createdBy; + } + + + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + + public RouteFilterChangeData createdDateTime(OffsetDateTime createdDateTime) { + + this.createdDateTime = createdDateTime; + return this; + } + + /** + * Set when change flow starts + * @return createdDateTime + **/ + @javax.annotation.Nullable + + public OffsetDateTime getCreatedDateTime() { + return createdDateTime; + } + + + public void setCreatedDateTime(OffsetDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + + public RouteFilterChangeData updatedBy(String updatedBy) { + + this.updatedBy = updatedBy; + return this; + } + + /** + * Updated by User Key + * @return updatedBy + **/ + @javax.annotation.Nullable + + public String getUpdatedBy() { + return updatedBy; + } + + + public void setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + } + + + public RouteFilterChangeData updatedDateTime(OffsetDateTime updatedDateTime) { + + this.updatedDateTime = updatedDateTime; + return this; + } + + /** + * Set when change object is updated + * @return updatedDateTime + **/ + @javax.annotation.Nullable + + public OffsetDateTime getUpdatedDateTime() { + return updatedDateTime; + } + + + public void setUpdatedDateTime(OffsetDateTime updatedDateTime) { + this.updatedDateTime = updatedDateTime; + } + + + public RouteFilterChangeData information(String information) { + + this.information = information; + return this; + } + + /** + * Additional information + * @return information + **/ + @javax.annotation.Nullable + + public String getInformation() { + return information; + } + + + public void setInformation(String information) { + this.information = information; + } + + + public RouteFilterChangeData data(RouteFiltersChangeOperation data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + + public RouteFiltersChangeOperation getData() { + return data; + } + + + public void setData(RouteFiltersChangeOperation data) { + this.data = data; + } + + + public RouteFilterChangeData uuid(String uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Uniquely identifies a change + * @return uuid + **/ + @javax.annotation.Nonnull + + public String getUuid() { + return uuid; + } + + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + + public RouteFilterChangeData type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Type of change + * @return type + **/ + @javax.annotation.Nonnull + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFilterChangeData href(URI href) { + + this.href = href; + return this; + } + + /** + * Route Filter Change URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterChangeData instance itself + */ + public RouteFilterChangeData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterChangeData routeFilterChangeData = (RouteFilterChangeData) o; + return Objects.equals(this.status, routeFilterChangeData.status) && + Objects.equals(this.createdBy, routeFilterChangeData.createdBy) && + Objects.equals(this.createdDateTime, routeFilterChangeData.createdDateTime) && + Objects.equals(this.updatedBy, routeFilterChangeData.updatedBy) && + Objects.equals(this.updatedDateTime, routeFilterChangeData.updatedDateTime) && + Objects.equals(this.information, routeFilterChangeData.information) && + Objects.equals(this.data, routeFilterChangeData.data) && + Objects.equals(this.uuid, routeFilterChangeData.uuid) && + Objects.equals(this.type, routeFilterChangeData.type) && + Objects.equals(this.href, routeFilterChangeData.href)&& + Objects.equals(this.additionalProperties, routeFilterChangeData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(status, createdBy, createdDateTime, updatedBy, updatedDateTime, information, data, uuid, type, href, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterChangeData {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n"); + sb.append(" createdDateTime: ").append(toIndentedString(createdDateTime)).append("\n"); + sb.append(" updatedBy: ").append(toIndentedString(updatedBy)).append("\n"); + sb.append(" updatedDateTime: ").append(toIndentedString(updatedDateTime)).append("\n"); + sb.append(" information: ").append(toIndentedString(information)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("uuid"); + openapiFields.add("type"); + openapiFields.add("href"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("uuid"); + openapiRequiredFields.add("type"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterChangeData + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterChangeData.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterChangeData is not found in the empty JSON string", RouteFilterChangeData.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFilterChangeData.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + if ((jsonObj.get("createdBy") != null && !jsonObj.get("createdBy").isJsonNull()) && !jsonObj.get("createdBy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `createdBy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("createdBy").toString())); + } + if ((jsonObj.get("updatedBy") != null && !jsonObj.get("updatedBy").isJsonNull()) && !jsonObj.get("updatedBy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `updatedBy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updatedBy").toString())); + } + if ((jsonObj.get("information") != null && !jsonObj.get("information").isJsonNull()) && !jsonObj.get("information").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `information` to be a primitive type in the JSON string but got `%s`", jsonObj.get("information").toString())); + } + // validate the optional field `data` + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + RouteFiltersChangeOperation.validateJsonObject(jsonObj.getAsJsonObject("data")); + } + if (!jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterChangeData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterChangeData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterChangeData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterChangeData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterChangeData read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterChangeData instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterChangeData given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterChangeData + * @throws IOException if the JSON string is invalid with respect to RouteFilterChangeData + */ + public static RouteFilterChangeData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterChangeData.class); + } + + /** + * Convert an instance of RouteFilterChangeData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponse.java new file mode 100644 index 00000000..46ebac45 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponse.java @@ -0,0 +1,335 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangeData; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * List of Route Filter changes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterChangeDataResponse { + public static final String SERIALIZED_NAME_PAGINATION = "pagination"; + @SerializedName(SERIALIZED_NAME_PAGINATION) + private Pagination pagination; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList<>(); + + public RouteFilterChangeDataResponse() { + } + + public RouteFilterChangeDataResponse pagination(Pagination pagination) { + + this.pagination = pagination; + return this; + } + + /** + * Get pagination + * @return pagination + **/ + @javax.annotation.Nullable + + public Pagination getPagination() { + return pagination; + } + + + public void setPagination(Pagination pagination) { + this.pagination = pagination; + } + + + public RouteFilterChangeDataResponse data(List data) { + + this.data = data; + return this; + } + + public RouteFilterChangeDataResponse addDataItem(RouteFilterChangeData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterChangeDataResponse instance itself + */ + public RouteFilterChangeDataResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterChangeDataResponse routeFilterChangeDataResponse = (RouteFilterChangeDataResponse) o; + return Objects.equals(this.pagination, routeFilterChangeDataResponse.pagination) && + Objects.equals(this.data, routeFilterChangeDataResponse.data)&& + Objects.equals(this.additionalProperties, routeFilterChangeDataResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(pagination, data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterChangeDataResponse {\n"); + sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("pagination"); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterChangeDataResponse + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterChangeDataResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterChangeDataResponse is not found in the empty JSON string", RouteFilterChangeDataResponse.openapiRequiredFields.toString())); + } + } + // validate the optional field `pagination` + if (jsonObj.get("pagination") != null && !jsonObj.get("pagination").isJsonNull()) { + Pagination.validateJsonObject(jsonObj.getAsJsonObject("pagination")); + } + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + if (jsonArraydata != null) { + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + // validate the optional field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + RouteFilterChangeData.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterChangeDataResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterChangeDataResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterChangeDataResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterChangeDataResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterChangeDataResponse read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterChangeDataResponse instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterChangeDataResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterChangeDataResponse + * @throws IOException if the JSON string is invalid with respect to RouteFilterChangeDataResponse + */ + public static RouteFilterChangeDataResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterChangeDataResponse.class); + } + + /** + * Convert an instance of RouteFilterChangeDataResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatch.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatch.java new file mode 100644 index 00000000..10d32e6b --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatch.java @@ -0,0 +1,350 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Route Filter Rule change operation data + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterChangePrefixMatch { + public static final String SERIALIZED_NAME_OP = "op"; + @SerializedName(SERIALIZED_NAME_OP) + private String op; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Object value; + + public RouteFilterChangePrefixMatch() { + } + + public RouteFilterChangePrefixMatch op(String op) { + + this.op = op; + return this; + } + + /** + * Handy shortcut for operation name + * @return op + **/ + @javax.annotation.Nonnull + + public String getOp() { + return op; + } + + + public void setOp(String op) { + this.op = op; + } + + + public RouteFilterChangePrefixMatch path(String path) { + + this.path = path; + return this; + } + + /** + * path to change + * @return path + **/ + @javax.annotation.Nonnull + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public RouteFilterChangePrefixMatch value(Object value) { + + this.value = value; + return this; + } + + /** + * new value for updated parameter + * @return value + **/ + @javax.annotation.Nonnull + + public Object getValue() { + return value; + } + + + public void setValue(Object value) { + this.value = value; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterChangePrefixMatch instance itself + */ + public RouteFilterChangePrefixMatch putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterChangePrefixMatch routeFilterChangePrefixMatch = (RouteFilterChangePrefixMatch) o; + return Objects.equals(this.op, routeFilterChangePrefixMatch.op) && + Objects.equals(this.path, routeFilterChangePrefixMatch.path) && + Objects.equals(this.value, routeFilterChangePrefixMatch.value)&& + Objects.equals(this.additionalProperties, routeFilterChangePrefixMatch.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(op, path, value, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterChangePrefixMatch {\n"); + sb.append(" op: ").append(toIndentedString(op)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("op"); + openapiFields.add("path"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("op"); + openapiRequiredFields.add("path"); + openapiRequiredFields.add("value"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterChangePrefixMatch + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterChangePrefixMatch.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterChangePrefixMatch is not found in the empty JSON string", RouteFilterChangePrefixMatch.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFilterChangePrefixMatch.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if (!jsonObj.get("op").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `op` to be a primitive type in the JSON string but got `%s`", jsonObj.get("op").toString())); + } + if (!jsonObj.get("path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("path").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterChangePrefixMatch.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterChangePrefixMatch' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterChangePrefixMatch.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterChangePrefixMatch value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterChangePrefixMatch read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterChangePrefixMatch instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterChangePrefixMatch given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterChangePrefixMatch + * @throws IOException if the JSON string is invalid with respect to RouteFilterChangePrefixMatch + */ + public static RouteFilterChangePrefixMatch fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterChangePrefixMatch.class); + } + + /** + * Convert an instance of RouteFilterChangePrefixMatch to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsData.java new file mode 100644 index 00000000..2fec58ca --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsData.java @@ -0,0 +1,375 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.ConnectionType; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * RouteFilterConnectionsData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterConnectionsData { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private ConnectionType type; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private UUID uuid; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public RouteFilterConnectionsData() { + } + + public RouteFilterConnectionsData href(URI href) { + + this.href = href; + return this; + } + + /** + * Connection URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + + public RouteFilterConnectionsData type(ConnectionType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + + public ConnectionType getType() { + return type; + } + + + public void setType(ConnectionType type) { + this.type = type; + } + + + public RouteFilterConnectionsData uuid(UUID uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Route Filter identifier + * @return uuid + **/ + @javax.annotation.Nullable + + public UUID getUuid() { + return uuid; + } + + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + + public RouteFilterConnectionsData name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterConnectionsData instance itself + */ + public RouteFilterConnectionsData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterConnectionsData routeFilterConnectionsData = (RouteFilterConnectionsData) o; + return Objects.equals(this.href, routeFilterConnectionsData.href) && + Objects.equals(this.type, routeFilterConnectionsData.type) && + Objects.equals(this.uuid, routeFilterConnectionsData.uuid) && + Objects.equals(this.name, routeFilterConnectionsData.name)&& + Objects.equals(this.additionalProperties, routeFilterConnectionsData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(href, type, uuid, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterConnectionsData {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("href"); + openapiFields.add("type"); + openapiFields.add("uuid"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterConnectionsData + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterConnectionsData.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterConnectionsData is not found in the empty JSON string", RouteFilterConnectionsData.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + if ((jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonNull()) && !jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterConnectionsData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterConnectionsData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterConnectionsData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterConnectionsData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterConnectionsData read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterConnectionsData instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterConnectionsData given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterConnectionsData + * @throws IOException if the JSON string is invalid with respect to RouteFilterConnectionsData + */ + public static RouteFilterConnectionsData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterConnectionsData.class); + } + + /** + * Convert an instance of RouteFilterConnectionsData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBase.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBase.java new file mode 100644 index 00000000..3d4613f1 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBase.java @@ -0,0 +1,375 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * RouteFilterRulesBase + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesBase { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_PREFIX = "prefix"; + @SerializedName(SERIALIZED_NAME_PREFIX) + private String prefix; + + public static final String SERIALIZED_NAME_PREFIX_MATCH = "prefixMatch"; + @SerializedName(SERIALIZED_NAME_PREFIX_MATCH) + private String prefixMatch = "orlonger"; + + public RouteFilterRulesBase() { + } + + public RouteFilterRulesBase name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public RouteFilterRulesBase description(String description) { + + this.description = description; + return this; + } + + /** + * Customer-provided Route Filter Rule description + * @return description + **/ + @javax.annotation.Nullable + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RouteFilterRulesBase prefix(String prefix) { + + this.prefix = prefix; + return this; + } + + /** + * Get prefix + * @return prefix + **/ + @javax.annotation.Nullable + + public String getPrefix() { + return prefix; + } + + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + + public RouteFilterRulesBase prefixMatch(String prefixMatch) { + + this.prefixMatch = prefixMatch; + return this; + } + + /** + * Get prefixMatch + * @return prefixMatch + **/ + @javax.annotation.Nullable + + public String getPrefixMatch() { + return prefixMatch; + } + + + public void setPrefixMatch(String prefixMatch) { + this.prefixMatch = prefixMatch; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesBase instance itself + */ + public RouteFilterRulesBase putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesBase routeFilterRulesBase = (RouteFilterRulesBase) o; + return Objects.equals(this.name, routeFilterRulesBase.name) && + Objects.equals(this.description, routeFilterRulesBase.description) && + Objects.equals(this.prefix, routeFilterRulesBase.prefix) && + Objects.equals(this.prefixMatch, routeFilterRulesBase.prefixMatch)&& + Objects.equals(this.additionalProperties, routeFilterRulesBase.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, prefix, prefixMatch, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesBase {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" prefix: ").append(toIndentedString(prefix)).append("\n"); + sb.append(" prefixMatch: ").append(toIndentedString(prefixMatch)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("prefix"); + openapiFields.add("prefixMatch"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesBase + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesBase.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesBase is not found in the empty JSON string", RouteFilterRulesBase.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("prefix") != null && !jsonObj.get("prefix").isJsonNull()) && !jsonObj.get("prefix").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prefix` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prefix").toString())); + } + if ((jsonObj.get("prefixMatch") != null && !jsonObj.get("prefixMatch").isJsonNull()) && !jsonObj.get("prefixMatch").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prefixMatch` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prefixMatch").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesBase.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesBase' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesBase.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesBase value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesBase read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesBase instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesBase given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesBase + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesBase + */ + public static RouteFilterRulesBase fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesBase.class); + } + + /** + * Convert an instance of RouteFilterRulesBase to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChange.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChange.java new file mode 100644 index 00000000..56d6a50f --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChange.java @@ -0,0 +1,408 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Current state of latest Route Filter Rule change + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesChange { + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private String uuid; + + /** + * Type of change + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER_RULE_UPDATE("BGP_IPv4_PREFIX_FILTER_RULE_UPDATE"), + + IPV4_PREFIX_FILTER_RULE_CREATION("BGP_IPv4_PREFIX_FILTER_RULE_CREATION"), + + IPV4_PREFIX_FILTER_RULE_DELETION("BGP_IPv4_PREFIX_FILTER_RULE_DELETION"), + + IPV6_PREFIX_FILTER_RULE_UPDATE("BGP_IPv6_PREFIX_FILTER_RULE_UPDATE"), + + IPV6_PREFIX_FILTER_RULE_CREATION("BGP_IPv6_PREFIX_FILTER_RULE_CREATION"), + + IPV6_PREFIX_FILTER_RULE_DELETION("BGP_IPv6_PREFIX_FILTER_RULE_DELETION"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public RouteFilterRulesChange() { + } + + public RouteFilterRulesChange uuid(String uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Uniquely identifies a change + * @return uuid + **/ + @javax.annotation.Nonnull + + public String getUuid() { + return uuid; + } + + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + + public RouteFilterRulesChange type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Type of change + * @return type + **/ + @javax.annotation.Nonnull + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFilterRulesChange href(URI href) { + + this.href = href; + return this; + } + + /** + * Route Filter Change URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesChange instance itself + */ + public RouteFilterRulesChange putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesChange routeFilterRulesChange = (RouteFilterRulesChange) o; + return Objects.equals(this.uuid, routeFilterRulesChange.uuid) && + Objects.equals(this.type, routeFilterRulesChange.type) && + Objects.equals(this.href, routeFilterRulesChange.href)&& + Objects.equals(this.additionalProperties, routeFilterRulesChange.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(uuid, type, href, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesChange {\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("uuid"); + openapiFields.add("type"); + openapiFields.add("href"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("uuid"); + openapiRequiredFields.add("type"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesChange + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesChange.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesChange is not found in the empty JSON string", RouteFilterRulesChange.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFilterRulesChange.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if (!jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesChange.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesChange' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesChange.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesChange value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesChange read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesChange instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesChange given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesChange + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesChange + */ + public static RouteFilterRulesChange fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesChange.class); + } + + /** + * Convert an instance of RouteFilterRulesChange to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeData.java new file mode 100644 index 00000000..ce7bfe57 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeData.java @@ -0,0 +1,640 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeOperation; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.time.OffsetDateTime; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Current state of latest Route Filter Rules change + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesChangeData { + /** + * Current outcome of the change flow + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + COMPLETED("COMPLETED"), + + FAILED("FAILED"), + + REQUESTED("REQUESTED"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public static final String SERIALIZED_NAME_CREATED_BY = "createdBy"; + @SerializedName(SERIALIZED_NAME_CREATED_BY) + private String createdBy; + + public static final String SERIALIZED_NAME_CREATED_DATE_TIME = "createdDateTime"; + @SerializedName(SERIALIZED_NAME_CREATED_DATE_TIME) + private OffsetDateTime createdDateTime; + + public static final String SERIALIZED_NAME_UPDATED_BY = "updatedBy"; + @SerializedName(SERIALIZED_NAME_UPDATED_BY) + private String updatedBy; + + public static final String SERIALIZED_NAME_UPDATED_DATE_TIME = "updatedDateTime"; + @SerializedName(SERIALIZED_NAME_UPDATED_DATE_TIME) + private OffsetDateTime updatedDateTime; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private RouteFilterRulesChangeOperation data; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private String uuid; + + /** + * Type of change + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER_RULE_UPDATE("BGP_IPv4_PREFIX_FILTER_RULE_UPDATE"), + + IPV4_PREFIX_FILTER_RULE_CREATION("BGP_IPv4_PREFIX_FILTER_RULE_CREATION"), + + IPV4_PREFIX_FILTER_RULE_DELETION("BGP_IPv4_PREFIX_FILTER_RULE_DELETION"), + + IPV6_PREFIX_FILTER_RULE_UPDATE("BGP_IPv6_PREFIX_FILTER_RULE_UPDATE"), + + IPV6_PREFIX_FILTER_RULE_CREATION("BGP_IPv6_PREFIX_FILTER_RULE_CREATION"), + + IPV6_PREFIX_FILTER_RULE_DELETION("BGP_IPv6_PREFIX_FILTER_RULE_DELETION"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public RouteFilterRulesChangeData() { + } + + public RouteFilterRulesChangeData status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * Current outcome of the change flow + * @return status + **/ + @javax.annotation.Nullable + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + + public RouteFilterRulesChangeData createdBy(String createdBy) { + + this.createdBy = createdBy; + return this; + } + + /** + * Created by User Key + * @return createdBy + **/ + @javax.annotation.Nullable + + public String getCreatedBy() { + return createdBy; + } + + + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + + public RouteFilterRulesChangeData createdDateTime(OffsetDateTime createdDateTime) { + + this.createdDateTime = createdDateTime; + return this; + } + + /** + * Set when change flow starts + * @return createdDateTime + **/ + @javax.annotation.Nullable + + public OffsetDateTime getCreatedDateTime() { + return createdDateTime; + } + + + public void setCreatedDateTime(OffsetDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + + public RouteFilterRulesChangeData updatedBy(String updatedBy) { + + this.updatedBy = updatedBy; + return this; + } + + /** + * Updated by User Key + * @return updatedBy + **/ + @javax.annotation.Nullable + + public String getUpdatedBy() { + return updatedBy; + } + + + public void setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + } + + + public RouteFilterRulesChangeData updatedDateTime(OffsetDateTime updatedDateTime) { + + this.updatedDateTime = updatedDateTime; + return this; + } + + /** + * Set when change object is updated + * @return updatedDateTime + **/ + @javax.annotation.Nullable + + public OffsetDateTime getUpdatedDateTime() { + return updatedDateTime; + } + + + public void setUpdatedDateTime(OffsetDateTime updatedDateTime) { + this.updatedDateTime = updatedDateTime; + } + + + public RouteFilterRulesChangeData data(RouteFilterRulesChangeOperation data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + + public RouteFilterRulesChangeOperation getData() { + return data; + } + + + public void setData(RouteFilterRulesChangeOperation data) { + this.data = data; + } + + + public RouteFilterRulesChangeData uuid(String uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Uniquely identifies a change + * @return uuid + **/ + @javax.annotation.Nonnull + + public String getUuid() { + return uuid; + } + + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + + public RouteFilterRulesChangeData type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Type of change + * @return type + **/ + @javax.annotation.Nonnull + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFilterRulesChangeData href(URI href) { + + this.href = href; + return this; + } + + /** + * Route Filter Change URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesChangeData instance itself + */ + public RouteFilterRulesChangeData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesChangeData routeFilterRulesChangeData = (RouteFilterRulesChangeData) o; + return Objects.equals(this.status, routeFilterRulesChangeData.status) && + Objects.equals(this.createdBy, routeFilterRulesChangeData.createdBy) && + Objects.equals(this.createdDateTime, routeFilterRulesChangeData.createdDateTime) && + Objects.equals(this.updatedBy, routeFilterRulesChangeData.updatedBy) && + Objects.equals(this.updatedDateTime, routeFilterRulesChangeData.updatedDateTime) && + Objects.equals(this.data, routeFilterRulesChangeData.data) && + Objects.equals(this.uuid, routeFilterRulesChangeData.uuid) && + Objects.equals(this.type, routeFilterRulesChangeData.type) && + Objects.equals(this.href, routeFilterRulesChangeData.href)&& + Objects.equals(this.additionalProperties, routeFilterRulesChangeData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(status, createdBy, createdDateTime, updatedBy, updatedDateTime, data, uuid, type, href, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesChangeData {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n"); + sb.append(" createdDateTime: ").append(toIndentedString(createdDateTime)).append("\n"); + sb.append(" updatedBy: ").append(toIndentedString(updatedBy)).append("\n"); + sb.append(" updatedDateTime: ").append(toIndentedString(updatedDateTime)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("uuid"); + openapiFields.add("type"); + openapiFields.add("href"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("uuid"); + openapiRequiredFields.add("type"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesChangeData + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesChangeData.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesChangeData is not found in the empty JSON string", RouteFilterRulesChangeData.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFilterRulesChangeData.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + if ((jsonObj.get("createdBy") != null && !jsonObj.get("createdBy").isJsonNull()) && !jsonObj.get("createdBy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `createdBy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("createdBy").toString())); + } + if ((jsonObj.get("updatedBy") != null && !jsonObj.get("updatedBy").isJsonNull()) && !jsonObj.get("updatedBy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `updatedBy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updatedBy").toString())); + } + // validate the optional field `data` + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + RouteFilterRulesChangeOperation.validateJsonObject(jsonObj.getAsJsonObject("data")); + } + if (!jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesChangeData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesChangeData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesChangeData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesChangeData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesChangeData read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesChangeData instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesChangeData given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesChangeData + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesChangeData + */ + public static RouteFilterRulesChangeData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesChangeData.class); + } + + /** + * Convert an instance of RouteFilterRulesChangeData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponse.java new file mode 100644 index 00000000..bd22ef2f --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponse.java @@ -0,0 +1,335 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeData; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * List of Route Filter Rule changes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesChangeDataResponse { + public static final String SERIALIZED_NAME_PAGINATION = "pagination"; + @SerializedName(SERIALIZED_NAME_PAGINATION) + private Pagination pagination; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList<>(); + + public RouteFilterRulesChangeDataResponse() { + } + + public RouteFilterRulesChangeDataResponse pagination(Pagination pagination) { + + this.pagination = pagination; + return this; + } + + /** + * Get pagination + * @return pagination + **/ + @javax.annotation.Nullable + + public Pagination getPagination() { + return pagination; + } + + + public void setPagination(Pagination pagination) { + this.pagination = pagination; + } + + + public RouteFilterRulesChangeDataResponse data(List data) { + + this.data = data; + return this; + } + + public RouteFilterRulesChangeDataResponse addDataItem(RouteFilterRulesChangeData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesChangeDataResponse instance itself + */ + public RouteFilterRulesChangeDataResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesChangeDataResponse routeFilterRulesChangeDataResponse = (RouteFilterRulesChangeDataResponse) o; + return Objects.equals(this.pagination, routeFilterRulesChangeDataResponse.pagination) && + Objects.equals(this.data, routeFilterRulesChangeDataResponse.data)&& + Objects.equals(this.additionalProperties, routeFilterRulesChangeDataResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(pagination, data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesChangeDataResponse {\n"); + sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("pagination"); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesChangeDataResponse + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesChangeDataResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesChangeDataResponse is not found in the empty JSON string", RouteFilterRulesChangeDataResponse.openapiRequiredFields.toString())); + } + } + // validate the optional field `pagination` + if (jsonObj.get("pagination") != null && !jsonObj.get("pagination").isJsonNull()) { + Pagination.validateJsonObject(jsonObj.getAsJsonObject("pagination")); + } + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + if (jsonArraydata != null) { + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + // validate the optional field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + RouteFilterRulesChangeData.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesChangeDataResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesChangeDataResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesChangeDataResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesChangeDataResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesChangeDataResponse read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesChangeDataResponse instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesChangeDataResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesChangeDataResponse + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesChangeDataResponse + */ + public static RouteFilterRulesChangeDataResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesChangeDataResponse.class); + } + + /** + * Convert an instance of RouteFilterRulesChangeDataResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperation.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperation.java new file mode 100644 index 00000000..feb0519b --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperation.java @@ -0,0 +1,520 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Route Filter change operation data + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesChangeOperation { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + /** + * type of filter rule + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER_RULE_UPDATE("BGP_IPv4_PREFIX_FILTER_RULE_UPDATE"), + + IPV4_PREFIX_FILTER_RULE_CREATION("BGP_IPv4_PREFIX_FILTER_RULE_CREATION"), + + IPV4_PREFIX_FILTER_RULE_DELETION("BGP_IPv4_PREFIX_FILTER_RULE_DELETION"), + + IPV6_PREFIX_FILTER_RULE_UPDATE("BGP_IPv6_PREFIX_FILTER_RULE_UPDATE"), + + IPV6_PREFIX_FILTER_RULE_CREATION("BGP_IPv6_PREFIX_FILTER_RULE_CREATION"), + + IPV6_PREFIX_FILTER_RULE_DELETION("BGP_IPv6_PREFIX_FILTER_RULE_DELETION"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_PREFIX = "prefix"; + @SerializedName(SERIALIZED_NAME_PREFIX) + private String prefix; + + /** + * change to be made + */ + @JsonAdapter(ActionEnum.Adapter.class) + public enum ActionEnum { + PERMIT("PERMIT"), + + DENY("DENY"); + + private String value; + + ActionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionEnum fromValue(String value) { + for (ActionEnum b : ActionEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ActionEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + private ActionEnum action; + + public RouteFilterRulesChangeOperation() { + } + + public RouteFilterRulesChangeOperation name(String name) { + + this.name = name; + return this; + } + + /** + * name of route filter rule + * @return name + **/ + @javax.annotation.Nonnull + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public RouteFilterRulesChangeOperation description(String description) { + + this.description = description; + return this; + } + + /** + * cust provided description + * @return description + **/ + @javax.annotation.Nullable + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RouteFilterRulesChangeOperation type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * type of filter rule + * @return type + **/ + @javax.annotation.Nonnull + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFilterRulesChangeOperation prefix(String prefix) { + + this.prefix = prefix; + return this; + } + + /** + * given prefix (does not change) + * @return prefix + **/ + @javax.annotation.Nonnull + + public String getPrefix() { + return prefix; + } + + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + + public RouteFilterRulesChangeOperation action(ActionEnum action) { + + this.action = action; + return this; + } + + /** + * change to be made + * @return action + **/ + @javax.annotation.Nonnull + + public ActionEnum getAction() { + return action; + } + + + public void setAction(ActionEnum action) { + this.action = action; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesChangeOperation instance itself + */ + public RouteFilterRulesChangeOperation putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesChangeOperation routeFilterRulesChangeOperation = (RouteFilterRulesChangeOperation) o; + return Objects.equals(this.name, routeFilterRulesChangeOperation.name) && + Objects.equals(this.description, routeFilterRulesChangeOperation.description) && + Objects.equals(this.type, routeFilterRulesChangeOperation.type) && + Objects.equals(this.prefix, routeFilterRulesChangeOperation.prefix) && + Objects.equals(this.action, routeFilterRulesChangeOperation.action)&& + Objects.equals(this.additionalProperties, routeFilterRulesChangeOperation.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, type, prefix, action, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesChangeOperation {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" prefix: ").append(toIndentedString(prefix)).append("\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("type"); + openapiFields.add("prefix"); + openapiFields.add("action"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("prefix"); + openapiRequiredFields.add("action"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesChangeOperation + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesChangeOperation.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesChangeOperation is not found in the empty JSON string", RouteFilterRulesChangeOperation.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFilterRulesChangeOperation.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if (!jsonObj.get("prefix").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prefix` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prefix").toString())); + } + if (!jsonObj.get("action").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesChangeOperation.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesChangeOperation' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesChangeOperation.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesChangeOperation value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesChangeOperation read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesChangeOperation instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesChangeOperation given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesChangeOperation + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesChangeOperation + */ + public static RouteFilterRulesChangeOperation fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesChangeOperation.class); + } + + /** + * Convert an instance of RouteFilterRulesChangeOperation to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesData.java new file mode 100644 index 00000000..ee7f07f9 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesData.java @@ -0,0 +1,667 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Changelog; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChange; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * RouteFilterRulesData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesData { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + /** + * Route Filter type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER_RULE("BGP_IPv4_PREFIX_FILTER_RULE"), + + IPV6_PREFIX_FILTER_RULE("BGP_IPv6_PREFIX_FILTER_RULE"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private UUID uuid; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_PREFIX_MATCH = "prefixMatch"; + @SerializedName(SERIALIZED_NAME_PREFIX_MATCH) + private String prefixMatch = "orlonger"; + + public static final String SERIALIZED_NAME_CHANGE = "change"; + @SerializedName(SERIALIZED_NAME_CHANGE) + private RouteFilterRulesChange change; + + /** + * Gets or Sets action + */ + @JsonAdapter(ActionEnum.Adapter.class) + public enum ActionEnum { + PERMIT("PERMIT"), + + DENY("DENY"); + + private String value; + + ActionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionEnum fromValue(String value) { + for (ActionEnum b : ActionEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ActionEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + private ActionEnum action; + + public static final String SERIALIZED_NAME_PREFIX = "prefix"; + @SerializedName(SERIALIZED_NAME_PREFIX) + private String prefix; + + public static final String SERIALIZED_NAME_CHANGELOG = "changelog"; + @SerializedName(SERIALIZED_NAME_CHANGELOG) + private Changelog changelog; + + public RouteFilterRulesData() { + } + + public RouteFilterRulesData href(URI href) { + + this.href = href; + return this; + } + + /** + * Route Filter Rules URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + + public RouteFilterRulesData type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Route Filter type + * @return type + **/ + @javax.annotation.Nullable + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFilterRulesData uuid(UUID uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Route Filter Rule identifier + * @return uuid + **/ + @javax.annotation.Nullable + + public UUID getUuid() { + return uuid; + } + + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + + public RouteFilterRulesData name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public RouteFilterRulesData description(String description) { + + this.description = description; + return this; + } + + /** + * Customer-provided Route Filter Rule description + * @return description + **/ + @javax.annotation.Nullable + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RouteFilterRulesData prefixMatch(String prefixMatch) { + + this.prefixMatch = prefixMatch; + return this; + } + + /** + * prefix matching operator + * @return prefixMatch + **/ + @javax.annotation.Nullable + + public String getPrefixMatch() { + return prefixMatch; + } + + + public void setPrefixMatch(String prefixMatch) { + this.prefixMatch = prefixMatch; + } + + + public RouteFilterRulesData change(RouteFilterRulesChange change) { + + this.change = change; + return this; + } + + /** + * Get change + * @return change + **/ + @javax.annotation.Nullable + + public RouteFilterRulesChange getChange() { + return change; + } + + + public void setChange(RouteFilterRulesChange change) { + this.change = change; + } + + + public RouteFilterRulesData action(ActionEnum action) { + + this.action = action; + return this; + } + + /** + * Get action + * @return action + **/ + @javax.annotation.Nullable + + public ActionEnum getAction() { + return action; + } + + + public void setAction(ActionEnum action) { + this.action = action; + } + + + public RouteFilterRulesData prefix(String prefix) { + + this.prefix = prefix; + return this; + } + + /** + * Get prefix + * @return prefix + **/ + @javax.annotation.Nullable + + public String getPrefix() { + return prefix; + } + + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + + public RouteFilterRulesData changelog(Changelog changelog) { + + this.changelog = changelog; + return this; + } + + /** + * Get changelog + * @return changelog + **/ + @javax.annotation.Nullable + + public Changelog getChangelog() { + return changelog; + } + + + public void setChangelog(Changelog changelog) { + this.changelog = changelog; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesData instance itself + */ + public RouteFilterRulesData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesData routeFilterRulesData = (RouteFilterRulesData) o; + return Objects.equals(this.href, routeFilterRulesData.href) && + Objects.equals(this.type, routeFilterRulesData.type) && + Objects.equals(this.uuid, routeFilterRulesData.uuid) && + Objects.equals(this.name, routeFilterRulesData.name) && + Objects.equals(this.description, routeFilterRulesData.description) && + Objects.equals(this.prefixMatch, routeFilterRulesData.prefixMatch) && + Objects.equals(this.change, routeFilterRulesData.change) && + Objects.equals(this.action, routeFilterRulesData.action) && + Objects.equals(this.prefix, routeFilterRulesData.prefix) && + Objects.equals(this.changelog, routeFilterRulesData.changelog)&& + Objects.equals(this.additionalProperties, routeFilterRulesData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(href, type, uuid, name, description, prefixMatch, change, action, prefix, changelog, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesData {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" prefixMatch: ").append(toIndentedString(prefixMatch)).append("\n"); + sb.append(" change: ").append(toIndentedString(change)).append("\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" prefix: ").append(toIndentedString(prefix)).append("\n"); + sb.append(" changelog: ").append(toIndentedString(changelog)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("href"); + openapiFields.add("type"); + openapiFields.add("uuid"); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("prefixMatch"); + openapiFields.add("change"); + openapiFields.add("action"); + openapiFields.add("prefix"); + openapiFields.add("changelog"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesData + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesData.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesData is not found in the empty JSON string", RouteFilterRulesData.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonNull()) && !jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("prefixMatch") != null && !jsonObj.get("prefixMatch").isJsonNull()) && !jsonObj.get("prefixMatch").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prefixMatch` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prefixMatch").toString())); + } + // validate the optional field `change` + if (jsonObj.get("change") != null && !jsonObj.get("change").isJsonNull()) { + RouteFilterRulesChange.validateJsonObject(jsonObj.getAsJsonObject("change")); + } + if ((jsonObj.get("action") != null && !jsonObj.get("action").isJsonNull()) && !jsonObj.get("action").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action").toString())); + } + if ((jsonObj.get("prefix") != null && !jsonObj.get("prefix").isJsonNull()) && !jsonObj.get("prefix").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prefix` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prefix").toString())); + } + // validate the optional field `changelog` + if (jsonObj.get("changelog") != null && !jsonObj.get("changelog").isJsonNull()) { + Changelog.validateJsonObject(jsonObj.getAsJsonObject("changelog")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesData read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesData instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesData given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesData + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesData + */ + public static RouteFilterRulesData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesData.class); + } + + /** + * Convert an instance of RouteFilterRulesData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequest.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequest.java new file mode 100644 index 00000000..8dbba90b --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequest.java @@ -0,0 +1,301 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesBase; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Create Route Filter Rule POST request + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFilterRulesPostRequest { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList<>(); + + public RouteFilterRulesPostRequest() { + } + + public RouteFilterRulesPostRequest data(List data) { + + this.data = data; + return this; + } + + public RouteFilterRulesPostRequest addDataItem(RouteFilterRulesBase dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Route Filter Rule configuration + * @return data + **/ + @javax.annotation.Nullable + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFilterRulesPostRequest instance itself + */ + public RouteFilterRulesPostRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFilterRulesPostRequest routeFilterRulesPostRequest = (RouteFilterRulesPostRequest) o; + return Objects.equals(this.data, routeFilterRulesPostRequest.data)&& + Objects.equals(this.additionalProperties, routeFilterRulesPostRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFilterRulesPostRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFilterRulesPostRequest + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFilterRulesPostRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFilterRulesPostRequest is not found in the empty JSON string", RouteFilterRulesPostRequest.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + if (jsonArraydata != null) { + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + // validate the optional field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + RouteFilterRulesBase.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFilterRulesPostRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFilterRulesPostRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFilterRulesPostRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFilterRulesPostRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFilterRulesPostRequest read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFilterRulesPostRequest instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFilterRulesPostRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFilterRulesPostRequest + * @throws IOException if the JSON string is invalid with respect to RouteFilterRulesPostRequest + */ + public static RouteFilterRulesPostRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFilterRulesPostRequest.class); + } + + /** + * Convert an instance of RouteFilterRulesPostRequest to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterState.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterState.java new file mode 100644 index 00000000..fa36e69b --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFilterState.java @@ -0,0 +1,82 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Route Filter status + */ +@JsonAdapter(RouteFilterState.Adapter.class) +public enum RouteFilterState { + + PROVISIONING("PROVISIONING"), + + REPROVISIONING("REPROVISIONING"), + + DEPROVISIONING("DEPROVISIONING"), + + PROVISIONED("PROVISIONED"), + + DEPROVISIONED("DEPROVISIONED"), + + NOT_PROVISIONED("NOT_PROVISIONED"), + + NOT_DEPROVISIONED("NOT_DEPROVISIONED"); + + private String value; + + RouteFilterState(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RouteFilterState fromValue(String value) { + for (RouteFilterState b : RouteFilterState.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RouteFilterState enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RouteFilterState read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RouteFilterState.fromValue(value); + } + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBase.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBase.java new file mode 100644 index 00000000..0a01a446 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBase.java @@ -0,0 +1,478 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Project; +import com.equinix.openapi.fabric.v4.model.SimplifiedNotification; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * RouteFiltersBase + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFiltersBase { + /** + * Route Filter type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER("BGP_IPv4_PREFIX_FILTER"), + + IPV6_PREFIX_FILTER("BGP_IPv6_PREFIX_FILTER"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_PROJECT = "project"; + @SerializedName(SERIALIZED_NAME_PROJECT) + private Project project; + + public static final String SERIALIZED_NAME_NOTIFICATIONS = "notifications"; + @SerializedName(SERIALIZED_NAME_NOTIFICATIONS) + private List notifications = new ArrayList<>(); + + public RouteFiltersBase() { + } + + public RouteFiltersBase type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Route Filter type + * @return type + **/ + @javax.annotation.Nullable + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFiltersBase name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public RouteFiltersBase description(String description) { + + this.description = description; + return this; + } + + /** + * Customer-provided connection description + * @return description + **/ + @javax.annotation.Nullable + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RouteFiltersBase project(Project project) { + + this.project = project; + return this; + } + + /** + * Get project + * @return project + **/ + @javax.annotation.Nullable + + public Project getProject() { + return project; + } + + + public void setProject(Project project) { + this.project = project; + } + + + public RouteFiltersBase notifications(List notifications) { + + this.notifications = notifications; + return this; + } + + public RouteFiltersBase addNotificationsItem(SimplifiedNotification notificationsItem) { + if (this.notifications == null) { + this.notifications = new ArrayList<>(); + } + this.notifications.add(notificationsItem); + return this; + } + + /** + * Preferences for notifications on route filter configuration or status changes + * @return notifications + **/ + @javax.annotation.Nullable + + public List getNotifications() { + return notifications; + } + + + public void setNotifications(List notifications) { + this.notifications = notifications; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFiltersBase instance itself + */ + public RouteFiltersBase putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFiltersBase routeFiltersBase = (RouteFiltersBase) o; + return Objects.equals(this.type, routeFiltersBase.type) && + Objects.equals(this.name, routeFiltersBase.name) && + Objects.equals(this.description, routeFiltersBase.description) && + Objects.equals(this.project, routeFiltersBase.project) && + Objects.equals(this.notifications, routeFiltersBase.notifications)&& + Objects.equals(this.additionalProperties, routeFiltersBase.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(type, name, description, project, notifications, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFiltersBase {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" project: ").append(toIndentedString(project)).append("\n"); + sb.append(" notifications: ").append(toIndentedString(notifications)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("project"); + openapiFields.add("notifications"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFiltersBase + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFiltersBase.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFiltersBase is not found in the empty JSON string", RouteFiltersBase.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + // validate the optional field `project` + if (jsonObj.get("project") != null && !jsonObj.get("project").isJsonNull()) { + Project.validateJsonObject(jsonObj.getAsJsonObject("project")); + } + if (jsonObj.get("notifications") != null && !jsonObj.get("notifications").isJsonNull()) { + JsonArray jsonArraynotifications = jsonObj.getAsJsonArray("notifications"); + if (jsonArraynotifications != null) { + // ensure the json data is an array + if (!jsonObj.get("notifications").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notifications` to be an array in the JSON string but got `%s`", jsonObj.get("notifications").toString())); + } + + // validate the optional field `notifications` (array) + for (int i = 0; i < jsonArraynotifications.size(); i++) { + SimplifiedNotification.validateJsonObject(jsonArraynotifications.get(i).getAsJsonObject()); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFiltersBase.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFiltersBase' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFiltersBase.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFiltersBase value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFiltersBase read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFiltersBase instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFiltersBase given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFiltersBase + * @throws IOException if the JSON string is invalid with respect to RouteFiltersBase + */ + public static RouteFiltersBase fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFiltersBase.class); + } + + /** + * Convert an instance of RouteFiltersBase to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionLink.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChange.java similarity index 76% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionLink.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChange.java index e3e4252c..fd4713f9 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionLink.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChange.java @@ -21,7 +21,6 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; -import java.util.UUID; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -45,20 +44,30 @@ import com.equinix.openapi.fabric.JSON; /** - * ConnectionLink + * Current state of latest Route Filter change */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class ConnectionLink { - public static final String SERIALIZED_NAME_HREF = "href"; - @SerializedName(SERIALIZED_NAME_HREF) - private URI href; +public class RouteFiltersChange { + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private String uuid; /** - * Gets or Sets type + * Type of change */ @JsonAdapter(TypeEnum.Adapter.class) public enum TypeEnum { - EVPL_VC("EVPL_VC"); + IPV4_PREFIX_FILTER_UPDATE("BGP_IPv4_PREFIX_FILTER_UPDATE"), + + IPV4_PREFIX_FILTER_CREATION("BGP_IPv4_PREFIX_FILTER_CREATION"), + + IPV4_PREFIX_FILTER_DELETION("BGP_IPv4_PREFIX_FILTER_DELETION"), + + IPV6_PREFIX_FILTER_UPDATE("BGP_IPv6_PREFIX_FILTER_UPDATE"), + + IPV6_PREFIX_FILTER_CREATION("BGP_IPv6_PREFIX_FILTER_CREATION"), + + IPV6_PREFIX_FILTER_DELETION("BGP_IPv6_PREFIX_FILTER_DELETION"); private String value; @@ -102,46 +111,46 @@ public TypeEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TYPE) private TypeEnum type; - public static final String SERIALIZED_NAME_UUID = "uuid"; - @SerializedName(SERIALIZED_NAME_UUID) - private UUID uuid; + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; - public ConnectionLink() { + public RouteFiltersChange() { } - public ConnectionLink href(URI href) { + public RouteFiltersChange uuid(String uuid) { - this.href = href; + this.uuid = uuid; return this; } /** - * Get href - * @return href + * Uniquely identifies a change + * @return uuid **/ - @javax.annotation.Nullable + @javax.annotation.Nonnull - public URI getHref() { - return href; + public String getUuid() { + return uuid; } - public void setHref(URI href) { - this.href = href; + public void setUuid(String uuid) { + this.uuid = uuid; } - public ConnectionLink type(TypeEnum type) { + public RouteFiltersChange type(TypeEnum type) { this.type = type; return this; } /** - * Get type + * Type of change * @return type **/ - @javax.annotation.Nullable + @javax.annotation.Nonnull public TypeEnum getType() { return type; @@ -153,25 +162,25 @@ public void setType(TypeEnum type) { } - public ConnectionLink uuid(UUID uuid) { + public RouteFiltersChange href(URI href) { - this.uuid = uuid; + this.href = href; return this; } /** - * Get uuid - * @return uuid + * Route Filter Change URI + * @return href **/ @javax.annotation.Nullable - public UUID getUuid() { - return uuid; + public URI getHref() { + return href; } - public void setUuid(UUID uuid) { - this.uuid = uuid; + public void setHref(URI href) { + this.href = href; } /** @@ -187,9 +196,9 @@ public void setUuid(UUID uuid) { * * @param key name of the property * @param value value of the property - * @return the ConnectionLink instance itself + * @return the RouteFiltersChange instance itself */ - public ConnectionLink putAdditionalProperty(String key, Object value) { + public RouteFiltersChange putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -228,25 +237,25 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ConnectionLink connectionLink = (ConnectionLink) o; - return Objects.equals(this.href, connectionLink.href) && - Objects.equals(this.type, connectionLink.type) && - Objects.equals(this.uuid, connectionLink.uuid)&& - Objects.equals(this.additionalProperties, connectionLink.additionalProperties); + RouteFiltersChange routeFiltersChange = (RouteFiltersChange) o; + return Objects.equals(this.uuid, routeFiltersChange.uuid) && + Objects.equals(this.type, routeFiltersChange.type) && + Objects.equals(this.href, routeFiltersChange.href)&& + Objects.equals(this.additionalProperties, routeFiltersChange.additionalProperties); } @Override public int hashCode() { - return Objects.hash(href, type, uuid, additionalProperties); + return Objects.hash(uuid, type, href, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class ConnectionLink {\n"); - sb.append(" href: ").append(toIndentedString(href)).append("\n"); - sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("class RouteFiltersChange {\n"); sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); @@ -270,34 +279,43 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("href"); - openapiFields.add("type"); openapiFields.add("uuid"); + openapiFields.add("type"); + openapiFields.add("href"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("uuid"); + openapiRequiredFields.add("type"); } /** * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to ConnectionLink + * @throws IOException if the JSON Object is invalid with respect to RouteFiltersChange */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!ConnectionLink.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in ConnectionLink is not found in the empty JSON string", ConnectionLink.openapiRequiredFields.toString())); + if (!RouteFiltersChange.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFiltersChange is not found in the empty JSON string", RouteFiltersChange.openapiRequiredFields.toString())); } } - if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFiltersChange.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if (!jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); } - if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } - if ((jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonNull()) && !jsonObj.get("uuid").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); } } @@ -305,16 +323,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!ConnectionLink.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'ConnectionLink' and its subtypes + if (!RouteFiltersChange.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFiltersChange' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(ConnectionLink.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFiltersChange.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, ConnectionLink value) throws IOException { + public void write(JsonWriter out, RouteFiltersChange value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -337,11 +355,11 @@ else if (entry.getValue() instanceof Character) } @Override - public ConnectionLink read(JsonReader in) throws IOException { + public RouteFiltersChange read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - ConnectionLink instance = thisAdapter.fromJsonTree(jsonObj); + RouteFiltersChange instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -368,18 +386,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of ConnectionLink given an JSON string + * Create an instance of RouteFiltersChange given an JSON string * * @param jsonString JSON string - * @return An instance of ConnectionLink - * @throws IOException if the JSON string is invalid with respect to ConnectionLink + * @return An instance of RouteFiltersChange + * @throws IOException if the JSON string is invalid with respect to RouteFiltersChange */ - public static ConnectionLink fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, ConnectionLink.class); + public static RouteFiltersChange fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFiltersChange.class); } /** - * Convert an instance of ConnectionLink to an JSON string + * Convert an instance of RouteFiltersChange to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperation.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperation.java new file mode 100644 index 00000000..eb59a8a5 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperation.java @@ -0,0 +1,402 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.RouteFiltersBase; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Route Filter change operation data + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFiltersChangeOperation { + /** + * Handy shortcut for operation name + */ + @JsonAdapter(OpEnum.Adapter.class) + public enum OpEnum { + ADD("add"), + + REPLACE("replace"), + + REMOVE("remove"); + + private String value; + + OpEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OpEnum fromValue(String value) { + for (OpEnum b : OpEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OpEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OpEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OpEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_OP = "op"; + @SerializedName(SERIALIZED_NAME_OP) + private OpEnum op; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private RouteFiltersBase value; + + public RouteFiltersChangeOperation() { + } + + public RouteFiltersChangeOperation op(OpEnum op) { + + this.op = op; + return this; + } + + /** + * Handy shortcut for operation name + * @return op + **/ + @javax.annotation.Nonnull + + public OpEnum getOp() { + return op; + } + + + public void setOp(OpEnum op) { + this.op = op; + } + + + public RouteFiltersChangeOperation path(String path) { + + this.path = path; + return this; + } + + /** + * path inside document leading to updated parameter + * @return path + **/ + @javax.annotation.Nonnull + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public RouteFiltersChangeOperation value(RouteFiltersBase value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nonnull + + public RouteFiltersBase getValue() { + return value; + } + + + public void setValue(RouteFiltersBase value) { + this.value = value; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFiltersChangeOperation instance itself + */ + public RouteFiltersChangeOperation putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFiltersChangeOperation routeFiltersChangeOperation = (RouteFiltersChangeOperation) o; + return Objects.equals(this.op, routeFiltersChangeOperation.op) && + Objects.equals(this.path, routeFiltersChangeOperation.path) && + Objects.equals(this.value, routeFiltersChangeOperation.value)&& + Objects.equals(this.additionalProperties, routeFiltersChangeOperation.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(op, path, value, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFiltersChangeOperation {\n"); + sb.append(" op: ").append(toIndentedString(op)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("op"); + openapiFields.add("path"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("op"); + openapiRequiredFields.add("path"); + openapiRequiredFields.add("value"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFiltersChangeOperation + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFiltersChangeOperation.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFiltersChangeOperation is not found in the empty JSON string", RouteFiltersChangeOperation.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFiltersChangeOperation.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if (!jsonObj.get("op").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `op` to be a primitive type in the JSON string but got `%s`", jsonObj.get("op").toString())); + } + if (!jsonObj.get("path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("path").toString())); + } + // validate the required field `value` + RouteFiltersBase.validateJsonObject(jsonObj.getAsJsonObject("value")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFiltersChangeOperation.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFiltersChangeOperation' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFiltersChangeOperation.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFiltersChangeOperation value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFiltersChangeOperation read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFiltersChangeOperation instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFiltersChangeOperation given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFiltersChangeOperation + * @throws IOException if the JSON string is invalid with respect to RouteFiltersChangeOperation + */ + public static RouteFiltersChangeOperation fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFiltersChangeOperation.class); + } + + /** + * Convert an instance of RouteFiltersChangeOperation to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersData.java new file mode 100644 index 00000000..0b2c0c2b --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersData.java @@ -0,0 +1,750 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Changelog; +import com.equinix.openapi.fabric.v4.model.RouteFilterState; +import com.equinix.openapi.fabric.v4.model.RouteFiltersChange; +import com.equinix.openapi.fabric.v4.model.RouteFiltersDataProject; +import com.equinix.openapi.fabric.v4.model.SimplifiedNotification; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * RouteFiltersData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFiltersData { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + /** + * Route Filter type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + IPV4_PREFIX_FILTER("BGP_IPv4_PREFIX_FILTER"), + + IPV6_PREFIX_FILTER("BGP_IPv6_PREFIX_FILTER"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private UUID uuid; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private RouteFilterState state; + + public static final String SERIALIZED_NAME_CHANGE = "change"; + @SerializedName(SERIALIZED_NAME_CHANGE) + private RouteFiltersChange change; + + /** + * Gets or Sets notMatchedRuleAction + */ + @JsonAdapter(NotMatchedRuleActionEnum.Adapter.class) + public enum NotMatchedRuleActionEnum { + ALLOW("ALLOW"), + + DENY("DENY"); + + private String value; + + NotMatchedRuleActionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotMatchedRuleActionEnum fromValue(String value) { + for (NotMatchedRuleActionEnum b : NotMatchedRuleActionEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotMatchedRuleActionEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotMatchedRuleActionEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotMatchedRuleActionEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOT_MATCHED_RULE_ACTION = "notMatchedRuleAction"; + @SerializedName(SERIALIZED_NAME_NOT_MATCHED_RULE_ACTION) + private NotMatchedRuleActionEnum notMatchedRuleAction; + + public static final String SERIALIZED_NAME_CONNECTIONS_COUNT = "connectionsCount"; + @SerializedName(SERIALIZED_NAME_CONNECTIONS_COUNT) + private Integer connectionsCount; + + public static final String SERIALIZED_NAME_PROJECT = "project"; + @SerializedName(SERIALIZED_NAME_PROJECT) + private RouteFiltersDataProject project; + + public static final String SERIALIZED_NAME_NOTIFICATIONS = "notifications"; + @SerializedName(SERIALIZED_NAME_NOTIFICATIONS) + private List notifications = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CHANGELOG = "changelog"; + @SerializedName(SERIALIZED_NAME_CHANGELOG) + private Changelog changelog; + + public RouteFiltersData() { + } + + public RouteFiltersData href(URI href) { + + this.href = href; + return this; + } + + /** + * Route Filter URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + + public RouteFiltersData type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Route Filter type + * @return type + **/ + @javax.annotation.Nullable + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public RouteFiltersData uuid(UUID uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Route Filter identifier + * @return uuid + **/ + @javax.annotation.Nullable + + public UUID getUuid() { + return uuid; + } + + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + + public RouteFiltersData name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public RouteFiltersData description(String description) { + + this.description = description; + return this; + } + + /** + * Customer-provided connection description + * @return description + **/ + @javax.annotation.Nullable + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RouteFiltersData state(RouteFilterState state) { + + this.state = state; + return this; + } + + /** + * Get state + * @return state + **/ + @javax.annotation.Nullable + + public RouteFilterState getState() { + return state; + } + + + public void setState(RouteFilterState state) { + this.state = state; + } + + + public RouteFiltersData change(RouteFiltersChange change) { + + this.change = change; + return this; + } + + /** + * Get change + * @return change + **/ + @javax.annotation.Nullable + + public RouteFiltersChange getChange() { + return change; + } + + + public void setChange(RouteFiltersChange change) { + this.change = change; + } + + + public RouteFiltersData notMatchedRuleAction(NotMatchedRuleActionEnum notMatchedRuleAction) { + + this.notMatchedRuleAction = notMatchedRuleAction; + return this; + } + + /** + * Get notMatchedRuleAction + * @return notMatchedRuleAction + **/ + @javax.annotation.Nullable + + public NotMatchedRuleActionEnum getNotMatchedRuleAction() { + return notMatchedRuleAction; + } + + + public void setNotMatchedRuleAction(NotMatchedRuleActionEnum notMatchedRuleAction) { + this.notMatchedRuleAction = notMatchedRuleAction; + } + + + public RouteFiltersData connectionsCount(Integer connectionsCount) { + + this.connectionsCount = connectionsCount; + return this; + } + + /** + * Get connectionsCount + * @return connectionsCount + **/ + @javax.annotation.Nullable + + public Integer getConnectionsCount() { + return connectionsCount; + } + + + public void setConnectionsCount(Integer connectionsCount) { + this.connectionsCount = connectionsCount; + } + + + public RouteFiltersData project(RouteFiltersDataProject project) { + + this.project = project; + return this; + } + + /** + * Get project + * @return project + **/ + @javax.annotation.Nullable + + public RouteFiltersDataProject getProject() { + return project; + } + + + public void setProject(RouteFiltersDataProject project) { + this.project = project; + } + + + public RouteFiltersData notifications(List notifications) { + + this.notifications = notifications; + return this; + } + + public RouteFiltersData addNotificationsItem(SimplifiedNotification notificationsItem) { + if (this.notifications == null) { + this.notifications = new ArrayList<>(); + } + this.notifications.add(notificationsItem); + return this; + } + + /** + * Preferences for notifications on route filter configuration or status changes + * @return notifications + **/ + @javax.annotation.Nullable + + public List getNotifications() { + return notifications; + } + + + public void setNotifications(List notifications) { + this.notifications = notifications; + } + + + public RouteFiltersData changelog(Changelog changelog) { + + this.changelog = changelog; + return this; + } + + /** + * Get changelog + * @return changelog + **/ + @javax.annotation.Nullable + + public Changelog getChangelog() { + return changelog; + } + + + public void setChangelog(Changelog changelog) { + this.changelog = changelog; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFiltersData instance itself + */ + public RouteFiltersData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFiltersData routeFiltersData = (RouteFiltersData) o; + return Objects.equals(this.href, routeFiltersData.href) && + Objects.equals(this.type, routeFiltersData.type) && + Objects.equals(this.uuid, routeFiltersData.uuid) && + Objects.equals(this.name, routeFiltersData.name) && + Objects.equals(this.description, routeFiltersData.description) && + Objects.equals(this.state, routeFiltersData.state) && + Objects.equals(this.change, routeFiltersData.change) && + Objects.equals(this.notMatchedRuleAction, routeFiltersData.notMatchedRuleAction) && + Objects.equals(this.connectionsCount, routeFiltersData.connectionsCount) && + Objects.equals(this.project, routeFiltersData.project) && + Objects.equals(this.notifications, routeFiltersData.notifications) && + Objects.equals(this.changelog, routeFiltersData.changelog)&& + Objects.equals(this.additionalProperties, routeFiltersData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(href, type, uuid, name, description, state, change, notMatchedRuleAction, connectionsCount, project, notifications, changelog, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFiltersData {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" change: ").append(toIndentedString(change)).append("\n"); + sb.append(" notMatchedRuleAction: ").append(toIndentedString(notMatchedRuleAction)).append("\n"); + sb.append(" connectionsCount: ").append(toIndentedString(connectionsCount)).append("\n"); + sb.append(" project: ").append(toIndentedString(project)).append("\n"); + sb.append(" notifications: ").append(toIndentedString(notifications)).append("\n"); + sb.append(" changelog: ").append(toIndentedString(changelog)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("href"); + openapiFields.add("type"); + openapiFields.add("uuid"); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("state"); + openapiFields.add("change"); + openapiFields.add("notMatchedRuleAction"); + openapiFields.add("connectionsCount"); + openapiFields.add("project"); + openapiFields.add("notifications"); + openapiFields.add("changelog"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFiltersData + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFiltersData.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFiltersData is not found in the empty JSON string", RouteFiltersData.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonNull()) && !jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + // validate the optional field `change` + if (jsonObj.get("change") != null && !jsonObj.get("change").isJsonNull()) { + RouteFiltersChange.validateJsonObject(jsonObj.getAsJsonObject("change")); + } + if ((jsonObj.get("notMatchedRuleAction") != null && !jsonObj.get("notMatchedRuleAction").isJsonNull()) && !jsonObj.get("notMatchedRuleAction").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notMatchedRuleAction` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notMatchedRuleAction").toString())); + } + // validate the optional field `project` + if (jsonObj.get("project") != null && !jsonObj.get("project").isJsonNull()) { + RouteFiltersDataProject.validateJsonObject(jsonObj.getAsJsonObject("project")); + } + if (jsonObj.get("notifications") != null && !jsonObj.get("notifications").isJsonNull()) { + JsonArray jsonArraynotifications = jsonObj.getAsJsonArray("notifications"); + if (jsonArraynotifications != null) { + // ensure the json data is an array + if (!jsonObj.get("notifications").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notifications` to be an array in the JSON string but got `%s`", jsonObj.get("notifications").toString())); + } + + // validate the optional field `notifications` (array) + for (int i = 0; i < jsonArraynotifications.size(); i++) { + SimplifiedNotification.validateJsonObject(jsonArraynotifications.get(i).getAsJsonObject()); + }; + } + } + // validate the optional field `changelog` + if (jsonObj.get("changelog") != null && !jsonObj.get("changelog").isJsonNull()) { + Changelog.validateJsonObject(jsonObj.getAsJsonObject("changelog")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFiltersData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFiltersData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFiltersData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFiltersData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFiltersData read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFiltersData instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFiltersData given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFiltersData + * @throws IOException if the JSON string is invalid with respect to RouteFiltersData + */ + public static RouteFiltersData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFiltersData.class); + } + + /** + * Convert an instance of RouteFiltersData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProject.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProject.java new file mode 100644 index 00000000..474a8a0f --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProject.java @@ -0,0 +1,320 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * RouteFiltersDataProject + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class RouteFiltersDataProject { + public static final String SERIALIZED_NAME_PROJECT_ID = "projectId"; + @SerializedName(SERIALIZED_NAME_PROJECT_ID) + private String projectId; + + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public RouteFiltersDataProject() { + } + + public RouteFiltersDataProject projectId(String projectId) { + + this.projectId = projectId; + return this; + } + + /** + * Subscriber-assigned project ID + * @return projectId + **/ + @javax.annotation.Nonnull + + public String getProjectId() { + return projectId; + } + + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + + public RouteFiltersDataProject href(URI href) { + + this.href = href; + return this; + } + + /** + * Project URI + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the RouteFiltersDataProject instance itself + */ + public RouteFiltersDataProject putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RouteFiltersDataProject routeFiltersDataProject = (RouteFiltersDataProject) o; + return Objects.equals(this.projectId, routeFiltersDataProject.projectId) && + Objects.equals(this.href, routeFiltersDataProject.href)&& + Objects.equals(this.additionalProperties, routeFiltersDataProject.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(projectId, href, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RouteFiltersDataProject {\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("projectId"); + openapiFields.add("href"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("projectId"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to RouteFiltersDataProject + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!RouteFiltersDataProject.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFiltersDataProject is not found in the empty JSON string", RouteFiltersDataProject.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RouteFiltersDataProject.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + if (!jsonObj.get("projectId").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `projectId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("projectId").toString())); + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RouteFiltersDataProject.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFiltersDataProject' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFiltersDataProject.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RouteFiltersDataProject value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public RouteFiltersDataProject read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + RouteFiltersDataProject instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RouteFiltersDataProject given an JSON string + * + * @param jsonString JSON string + * @return An instance of RouteFiltersDataProject + * @throws IOException if the JSON string is invalid with respect to RouteFiltersDataProject + */ + public static RouteFiltersDataProject fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFiltersDataProject.class); + } + + /** + * Convert an instance of RouteFiltersDataProject to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequest.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOf.java similarity index 73% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequest.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOf.java index 1b8b5471..f838443f 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequest.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOf.java @@ -14,13 +14,13 @@ import java.util.Objects; import java.util.Arrays; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilter; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.net.URI; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -44,36 +44,36 @@ import com.equinix.openapi.fabric.JSON; /** - * Validate connection auth api key or vlan + * RouteFiltersDataProjectAllOf */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class ValidateConnectionRequest { - public static final String SERIALIZED_NAME_FILTER = "filter"; - @SerializedName(SERIALIZED_NAME_FILTER) - private ValidateSubnetRequestFilter filter; +public class RouteFiltersDataProjectAllOf { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; - public ValidateConnectionRequest() { + public RouteFiltersDataProjectAllOf() { } - public ValidateConnectionRequest filter(ValidateSubnetRequestFilter filter) { + public RouteFiltersDataProjectAllOf href(URI href) { - this.filter = filter; + this.href = href; return this; } /** - * Get filter - * @return filter + * Project URI + * @return href **/ @javax.annotation.Nullable - public ValidateSubnetRequestFilter getFilter() { - return filter; + public URI getHref() { + return href; } - public void setFilter(ValidateSubnetRequestFilter filter) { - this.filter = filter; + public void setHref(URI href) { + this.href = href; } /** @@ -89,9 +89,9 @@ public void setFilter(ValidateSubnetRequestFilter filter) { * * @param key name of the property * @param value value of the property - * @return the ValidateConnectionRequest instance itself + * @return the RouteFiltersDataProjectAllOf instance itself */ - public ValidateConnectionRequest putAdditionalProperty(String key, Object value) { + public RouteFiltersDataProjectAllOf putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -130,21 +130,21 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ValidateConnectionRequest validateConnectionRequest = (ValidateConnectionRequest) o; - return Objects.equals(this.filter, validateConnectionRequest.filter)&& - Objects.equals(this.additionalProperties, validateConnectionRequest.additionalProperties); + RouteFiltersDataProjectAllOf routeFiltersDataProjectAllOf = (RouteFiltersDataProjectAllOf) o; + return Objects.equals(this.href, routeFiltersDataProjectAllOf.href)&& + Objects.equals(this.additionalProperties, routeFiltersDataProjectAllOf.additionalProperties); } @Override public int hashCode() { - return Objects.hash(filter, additionalProperties); + return Objects.hash(href, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class ValidateConnectionRequest {\n"); - sb.append(" filter: ").append(toIndentedString(filter)).append("\n"); + sb.append("class RouteFiltersDataProjectAllOf {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); @@ -168,7 +168,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("filter"); + openapiFields.add("href"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -178,17 +178,16 @@ private String toIndentedString(Object o) { * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to ValidateConnectionRequest + * @throws IOException if the JSON Object is invalid with respect to RouteFiltersDataProjectAllOf */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!ValidateConnectionRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateConnectionRequest is not found in the empty JSON string", ValidateConnectionRequest.openapiRequiredFields.toString())); + if (!RouteFiltersDataProjectAllOf.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RouteFiltersDataProjectAllOf is not found in the empty JSON string", RouteFiltersDataProjectAllOf.openapiRequiredFields.toString())); } } - // validate the optional field `filter` - if (jsonObj.get("filter") != null && !jsonObj.get("filter").isJsonNull()) { - ValidateSubnetRequestFilter.validateJsonObject(jsonObj.getAsJsonObject("filter")); + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); } } @@ -196,16 +195,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!ValidateConnectionRequest.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'ValidateConnectionRequest' and its subtypes + if (!RouteFiltersDataProjectAllOf.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RouteFiltersDataProjectAllOf' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(ValidateConnectionRequest.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RouteFiltersDataProjectAllOf.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, ValidateConnectionRequest value) throws IOException { + public void write(JsonWriter out, RouteFiltersDataProjectAllOf value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -228,11 +227,11 @@ else if (entry.getValue() instanceof Character) } @Override - public ValidateConnectionRequest read(JsonReader in) throws IOException { + public RouteFiltersDataProjectAllOf read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - ValidateConnectionRequest instance = thisAdapter.fromJsonTree(jsonObj); + RouteFiltersDataProjectAllOf instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -259,18 +258,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of ValidateConnectionRequest given an JSON string + * Create an instance of RouteFiltersDataProjectAllOf given an JSON string * * @param jsonString JSON string - * @return An instance of ValidateConnectionRequest - * @throws IOException if the JSON string is invalid with respect to ValidateConnectionRequest + * @return An instance of RouteFiltersDataProjectAllOf + * @throws IOException if the JSON string is invalid with respect to RouteFiltersDataProjectAllOf */ - public static ValidateConnectionRequest fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, ValidateConnectionRequest.class); + public static RouteFiltersDataProjectAllOf fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RouteFiltersDataProjectAllOf.class); } /** - * Convert an instance of ValidateConnectionRequest to an JSON string + * Convert an instance of RouteFiltersDataProjectAllOf to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouterPackageCode.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouterPackageCode.java index 1962f1aa..193ce666 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouterPackageCode.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RouterPackageCode.java @@ -32,7 +32,7 @@ public enum RouterPackageCode { BASIC("BASIC"), - PRO("PRO"), + STANDARD("STANDARD"), PREMIUM("PREMIUM"); diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetro.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetro.java index 976d8185..258a8927 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetro.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetro.java @@ -59,6 +59,10 @@ public class ServiceMetro { @SerializedName(SERIALIZED_NAME_NAME) private String name; + public static final String SERIALIZED_NAME_VC_BANDWIDTH_MAX = "vcBandwidthMax"; + @SerializedName(SERIALIZED_NAME_VC_BANDWIDTH_MAX) + private Integer vcBandwidthMax; + public static final String SERIALIZED_NAME_IBXS = "ibxs"; @SerializedName(SERIALIZED_NAME_IBXS) private List ibxs = new ArrayList<>(); @@ -122,6 +126,28 @@ public void setName(String name) { } + public ServiceMetro vcBandwidthMax(Integer vcBandwidthMax) { + + this.vcBandwidthMax = vcBandwidthMax; + return this; + } + + /** + * max VC speed supported in Mbps + * @return vcBandwidthMax + **/ + @javax.annotation.Nullable + + public Integer getVcBandwidthMax() { + return vcBandwidthMax; + } + + + public void setVcBandwidthMax(Integer vcBandwidthMax) { + this.vcBandwidthMax = vcBandwidthMax; + } + + public ServiceMetro ibxs(List ibxs) { this.ibxs = ibxs; @@ -282,6 +308,7 @@ public boolean equals(Object o) { ServiceMetro serviceMetro = (ServiceMetro) o; return Objects.equals(this.code, serviceMetro.code) && Objects.equals(this.name, serviceMetro.name) && + Objects.equals(this.vcBandwidthMax, serviceMetro.vcBandwidthMax) && Objects.equals(this.ibxs, serviceMetro.ibxs) && Objects.equals(this.inTrail, serviceMetro.inTrail) && Objects.equals(this.displayName, serviceMetro.displayName) && @@ -291,7 +318,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(code, name, ibxs, inTrail, displayName, sellerRegions, additionalProperties); + return Objects.hash(code, name, vcBandwidthMax, ibxs, inTrail, displayName, sellerRegions, additionalProperties); } @Override @@ -300,6 +327,7 @@ public String toString() { sb.append("class ServiceMetro {\n"); sb.append(" code: ").append(toIndentedString(code)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" vcBandwidthMax: ").append(toIndentedString(vcBandwidthMax)).append("\n"); sb.append(" ibxs: ").append(toIndentedString(ibxs)).append("\n"); sb.append(" inTrail: ").append(toIndentedString(inTrail)).append("\n"); sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); @@ -329,6 +357,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("code"); openapiFields.add("name"); + openapiFields.add("vcBandwidthMax"); openapiFields.add("ibxs"); openapiFields.add("inTrail"); openapiFields.add("displayName"); diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetros.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetros.java new file mode 100644 index 00000000..b44da6ed --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceMetros.java @@ -0,0 +1,335 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.ServiceMetro; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Service Profile Metros + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ServiceMetros { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PAGINATION = "pagination"; + @SerializedName(SERIALIZED_NAME_PAGINATION) + private Pagination pagination; + + public ServiceMetros() { + } + + public ServiceMetros data(List data) { + + this.data = data; + return this; + } + + public ServiceMetros addDataItem(ServiceMetro dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public ServiceMetros pagination(Pagination pagination) { + + this.pagination = pagination; + return this; + } + + /** + * Get pagination + * @return pagination + **/ + @javax.annotation.Nullable + + public Pagination getPagination() { + return pagination; + } + + + public void setPagination(Pagination pagination) { + this.pagination = pagination; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the ServiceMetros instance itself + */ + public ServiceMetros putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceMetros serviceMetros = (ServiceMetros) o; + return Objects.equals(this.data, serviceMetros.data) && + Objects.equals(this.pagination, serviceMetros.pagination)&& + Objects.equals(this.additionalProperties, serviceMetros.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, pagination, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ServiceMetros {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("pagination"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to ServiceMetros + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!ServiceMetros.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ServiceMetros is not found in the empty JSON string", ServiceMetros.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + if (jsonArraydata != null) { + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + // validate the optional field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + ServiceMetro.validateJsonObject(jsonArraydata.get(i).getAsJsonObject()); + }; + } + } + // validate the optional field `pagination` + if (jsonObj.get("pagination") != null && !jsonObj.get("pagination").isJsonNull()) { + Pagination.validateJsonObject(jsonObj.getAsJsonObject("pagination")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ServiceMetros.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ServiceMetros' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ServiceMetros.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ServiceMetros value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public ServiceMetros read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + ServiceMetros instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ServiceMetros given an JSON string + * + * @param jsonString JSON string + * @return An instance of ServiceMetros + * @throws IOException if the JSON string is invalid with respect to ServiceMetros + */ + public static ServiceMetros fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ServiceMetros.class); + } + + /** + * Convert an instance of ServiceMetros to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequest.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequest.java similarity index 79% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequest.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequest.java index 3c2cdaaa..9b7fb787 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequest.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequest.java @@ -14,7 +14,7 @@ import java.util.Objects; import java.util.Arrays; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilter; +import com.equinix.openapi.fabric.v4.model.ValidateRequestFilter; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -44,18 +44,18 @@ import com.equinix.openapi.fabric.JSON; /** - * Validate subnet for Routing Protocol Configuration + * Validate connection auth api key or vlan */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class ValidateSubnetRequest { +public class ValidateRequest { public static final String SERIALIZED_NAME_FILTER = "filter"; @SerializedName(SERIALIZED_NAME_FILTER) - private ValidateSubnetRequestFilter filter; + private ValidateRequestFilter filter; - public ValidateSubnetRequest() { + public ValidateRequest() { } - public ValidateSubnetRequest filter(ValidateSubnetRequestFilter filter) { + public ValidateRequest filter(ValidateRequestFilter filter) { this.filter = filter; return this; @@ -67,12 +67,12 @@ public ValidateSubnetRequest filter(ValidateSubnetRequestFilter filter) { **/ @javax.annotation.Nullable - public ValidateSubnetRequestFilter getFilter() { + public ValidateRequestFilter getFilter() { return filter; } - public void setFilter(ValidateSubnetRequestFilter filter) { + public void setFilter(ValidateRequestFilter filter) { this.filter = filter; } @@ -89,9 +89,9 @@ public void setFilter(ValidateSubnetRequestFilter filter) { * * @param key name of the property * @param value value of the property - * @return the ValidateSubnetRequest instance itself + * @return the ValidateRequest instance itself */ - public ValidateSubnetRequest putAdditionalProperty(String key, Object value) { + public ValidateRequest putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -130,9 +130,9 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ValidateSubnetRequest validateSubnetRequest = (ValidateSubnetRequest) o; - return Objects.equals(this.filter, validateSubnetRequest.filter)&& - Objects.equals(this.additionalProperties, validateSubnetRequest.additionalProperties); + ValidateRequest validateRequest = (ValidateRequest) o; + return Objects.equals(this.filter, validateRequest.filter)&& + Objects.equals(this.additionalProperties, validateRequest.additionalProperties); } @Override @@ -143,7 +143,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class ValidateSubnetRequest {\n"); + sb.append("class ValidateRequest {\n"); sb.append(" filter: ").append(toIndentedString(filter)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); @@ -178,17 +178,17 @@ private String toIndentedString(Object o) { * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to ValidateSubnetRequest + * @throws IOException if the JSON Object is invalid with respect to ValidateRequest */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!ValidateSubnetRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateSubnetRequest is not found in the empty JSON string", ValidateSubnetRequest.openapiRequiredFields.toString())); + if (!ValidateRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateRequest is not found in the empty JSON string", ValidateRequest.openapiRequiredFields.toString())); } } // validate the optional field `filter` if (jsonObj.get("filter") != null && !jsonObj.get("filter").isJsonNull()) { - ValidateSubnetRequestFilter.validateJsonObject(jsonObj.getAsJsonObject("filter")); + ValidateRequestFilter.validateJsonObject(jsonObj.getAsJsonObject("filter")); } } @@ -196,16 +196,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!ValidateSubnetRequest.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'ValidateSubnetRequest' and its subtypes + if (!ValidateRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ValidateRequest' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(ValidateSubnetRequest.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ValidateRequest.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, ValidateSubnetRequest value) throws IOException { + public void write(JsonWriter out, ValidateRequest value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -228,11 +228,11 @@ else if (entry.getValue() instanceof Character) } @Override - public ValidateSubnetRequest read(JsonReader in) throws IOException { + public ValidateRequest read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - ValidateSubnetRequest instance = thisAdapter.fromJsonTree(jsonObj); + ValidateRequest instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -259,18 +259,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of ValidateSubnetRequest given an JSON string + * Create an instance of ValidateRequest given an JSON string * * @param jsonString JSON string - * @return An instance of ValidateSubnetRequest - * @throws IOException if the JSON string is invalid with respect to ValidateSubnetRequest + * @return An instance of ValidateRequest + * @throws IOException if the JSON string is invalid with respect to ValidateRequest */ - public static ValidateSubnetRequest fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, ValidateSubnetRequest.class); + public static ValidateRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ValidateRequest.class); } /** - * Convert an instance of ValidateSubnetRequest to an JSON string + * Convert an instance of ValidateRequest to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilter.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilter.java similarity index 78% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilter.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilter.java index 8704ea72..b7581efb 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilter.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilter.java @@ -14,7 +14,7 @@ import java.util.Objects; import java.util.Arrays; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilterAnd; +import com.equinix.openapi.fabric.v4.model.ValidateRequestFilterAnd; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -49,21 +49,21 @@ * Filters */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class ValidateSubnetRequestFilter { +public class ValidateRequestFilter { public static final String SERIALIZED_NAME_AND = "and"; @SerializedName(SERIALIZED_NAME_AND) - private List and = new ArrayList<>(); + private List and = new ArrayList<>(); - public ValidateSubnetRequestFilter() { + public ValidateRequestFilter() { } - public ValidateSubnetRequestFilter and(List and) { + public ValidateRequestFilter and(List and) { this.and = and; return this; } - public ValidateSubnetRequestFilter addAndItem(ValidateSubnetRequestFilterAnd andItem) { + public ValidateRequestFilter addAndItem(ValidateRequestFilterAnd andItem) { if (this.and == null) { this.and = new ArrayList<>(); } @@ -77,12 +77,12 @@ public ValidateSubnetRequestFilter addAndItem(ValidateSubnetRequestFilterAnd and **/ @javax.annotation.Nullable - public List getAnd() { + public List getAnd() { return and; } - public void setAnd(List and) { + public void setAnd(List and) { this.and = and; } @@ -99,9 +99,9 @@ public void setAnd(List and) { * * @param key name of the property * @param value value of the property - * @return the ValidateSubnetRequestFilter instance itself + * @return the ValidateRequestFilter instance itself */ - public ValidateSubnetRequestFilter putAdditionalProperty(String key, Object value) { + public ValidateRequestFilter putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -140,9 +140,9 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ValidateSubnetRequestFilter validateSubnetRequestFilter = (ValidateSubnetRequestFilter) o; - return Objects.equals(this.and, validateSubnetRequestFilter.and)&& - Objects.equals(this.additionalProperties, validateSubnetRequestFilter.additionalProperties); + ValidateRequestFilter validateRequestFilter = (ValidateRequestFilter) o; + return Objects.equals(this.and, validateRequestFilter.and)&& + Objects.equals(this.additionalProperties, validateRequestFilter.additionalProperties); } @Override @@ -153,7 +153,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class ValidateSubnetRequestFilter {\n"); + sb.append("class ValidateRequestFilter {\n"); sb.append(" and: ").append(toIndentedString(and)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); @@ -188,12 +188,12 @@ private String toIndentedString(Object o) { * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to ValidateSubnetRequestFilter + * @throws IOException if the JSON Object is invalid with respect to ValidateRequestFilter */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!ValidateSubnetRequestFilter.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateSubnetRequestFilter is not found in the empty JSON string", ValidateSubnetRequestFilter.openapiRequiredFields.toString())); + if (!ValidateRequestFilter.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateRequestFilter is not found in the empty JSON string", ValidateRequestFilter.openapiRequiredFields.toString())); } } if (jsonObj.get("and") != null && !jsonObj.get("and").isJsonNull()) { @@ -206,7 +206,7 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException { // validate the optional field `and` (array) for (int i = 0; i < jsonArrayand.size(); i++) { - ValidateSubnetRequestFilterAnd.validateJsonObject(jsonArrayand.get(i).getAsJsonObject()); + ValidateRequestFilterAnd.validateJsonObject(jsonArrayand.get(i).getAsJsonObject()); }; } } @@ -216,16 +216,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!ValidateSubnetRequestFilter.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'ValidateSubnetRequestFilter' and its subtypes + if (!ValidateRequestFilter.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ValidateRequestFilter' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(ValidateSubnetRequestFilter.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ValidateRequestFilter.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, ValidateSubnetRequestFilter value) throws IOException { + public void write(JsonWriter out, ValidateRequestFilter value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -248,11 +248,11 @@ else if (entry.getValue() instanceof Character) } @Override - public ValidateSubnetRequestFilter read(JsonReader in) throws IOException { + public ValidateRequestFilter read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - ValidateSubnetRequestFilter instance = thisAdapter.fromJsonTree(jsonObj); + ValidateRequestFilter instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -279,18 +279,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of ValidateSubnetRequestFilter given an JSON string + * Create an instance of ValidateRequestFilter given an JSON string * * @param jsonString JSON string - * @return An instance of ValidateSubnetRequestFilter - * @throws IOException if the JSON string is invalid with respect to ValidateSubnetRequestFilter + * @return An instance of ValidateRequestFilter + * @throws IOException if the JSON string is invalid with respect to ValidateRequestFilter */ - public static ValidateSubnetRequestFilter fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, ValidateSubnetRequestFilter.class); + public static ValidateRequestFilter fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ValidateRequestFilter.class); } /** - * Convert an instance of ValidateSubnetRequestFilter to an JSON string + * Convert an instance of ValidateRequestFilter to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAnd.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAnd.java similarity index 81% rename from equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAnd.java rename to equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAnd.java index d85efbb6..383518c1 100644 --- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAnd.java +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAnd.java @@ -45,10 +45,10 @@ import com.equinix.openapi.fabric.JSON; /** - * ValidateSubnetRequestFilterAnd + * ValidateRequestFilterAnd */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") -public class ValidateSubnetRequestFilterAnd { +public class ValidateRequestFilterAnd { public static final String SERIALIZED_NAME_PROPERTY = "property"; @SerializedName(SERIALIZED_NAME_PROPERTY) private String property; @@ -61,10 +61,10 @@ public class ValidateSubnetRequestFilterAnd { @SerializedName(SERIALIZED_NAME_VALUES) private List values = new ArrayList<>(); - public ValidateSubnetRequestFilterAnd() { + public ValidateRequestFilterAnd() { } - public ValidateSubnetRequestFilterAnd property(String property) { + public ValidateRequestFilterAnd property(String property) { this.property = property; return this; @@ -86,7 +86,7 @@ public void setProperty(String property) { } - public ValidateSubnetRequestFilterAnd operator(String operator) { + public ValidateRequestFilterAnd operator(String operator) { this.operator = operator; return this; @@ -108,13 +108,13 @@ public void setOperator(String operator) { } - public ValidateSubnetRequestFilterAnd values(List values) { + public ValidateRequestFilterAnd values(List values) { this.values = values; return this; } - public ValidateSubnetRequestFilterAnd addValuesItem(String valuesItem) { + public ValidateRequestFilterAnd addValuesItem(String valuesItem) { if (this.values == null) { this.values = new ArrayList<>(); } @@ -150,9 +150,9 @@ public void setValues(List values) { * * @param key name of the property * @param value value of the property - * @return the ValidateSubnetRequestFilterAnd instance itself + * @return the ValidateRequestFilterAnd instance itself */ - public ValidateSubnetRequestFilterAnd putAdditionalProperty(String key, Object value) { + public ValidateRequestFilterAnd putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -191,11 +191,11 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ValidateSubnetRequestFilterAnd validateSubnetRequestFilterAnd = (ValidateSubnetRequestFilterAnd) o; - return Objects.equals(this.property, validateSubnetRequestFilterAnd.property) && - Objects.equals(this.operator, validateSubnetRequestFilterAnd.operator) && - Objects.equals(this.values, validateSubnetRequestFilterAnd.values)&& - Objects.equals(this.additionalProperties, validateSubnetRequestFilterAnd.additionalProperties); + ValidateRequestFilterAnd validateRequestFilterAnd = (ValidateRequestFilterAnd) o; + return Objects.equals(this.property, validateRequestFilterAnd.property) && + Objects.equals(this.operator, validateRequestFilterAnd.operator) && + Objects.equals(this.values, validateRequestFilterAnd.values)&& + Objects.equals(this.additionalProperties, validateRequestFilterAnd.additionalProperties); } @Override @@ -206,7 +206,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class ValidateSubnetRequestFilterAnd {\n"); + sb.append("class ValidateRequestFilterAnd {\n"); sb.append(" property: ").append(toIndentedString(property)).append("\n"); sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); sb.append(" values: ").append(toIndentedString(values)).append("\n"); @@ -245,12 +245,12 @@ private String toIndentedString(Object o) { * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object - * @throws IOException if the JSON Object is invalid with respect to ValidateSubnetRequestFilterAnd + * @throws IOException if the JSON Object is invalid with respect to ValidateRequestFilterAnd */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { - if (!ValidateSubnetRequestFilterAnd.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null - throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateSubnetRequestFilterAnd is not found in the empty JSON string", ValidateSubnetRequestFilterAnd.openapiRequiredFields.toString())); + if (!ValidateRequestFilterAnd.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ValidateRequestFilterAnd is not found in the empty JSON string", ValidateRequestFilterAnd.openapiRequiredFields.toString())); } } if ((jsonObj.get("property") != null && !jsonObj.get("property").isJsonNull()) && !jsonObj.get("property").isJsonPrimitive()) { @@ -269,16 +269,16 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { - if (!ValidateSubnetRequestFilterAnd.class.isAssignableFrom(type.getRawType())) { - return null; // this class only serializes 'ValidateSubnetRequestFilterAnd' and its subtypes + if (!ValidateRequestFilterAnd.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ValidateRequestFilterAnd' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter thisAdapter - = gson.getDelegateAdapter(this, TypeToken.get(ValidateSubnetRequestFilterAnd.class)); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ValidateRequestFilterAnd.class)); - return (TypeAdapter) new TypeAdapter() { + return (TypeAdapter) new TypeAdapter() { @Override - public void write(JsonWriter out, ValidateSubnetRequestFilterAnd value) throws IOException { + public void write(JsonWriter out, ValidateRequestFilterAnd value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additional properties @@ -301,11 +301,11 @@ else if (entry.getValue() instanceof Character) } @Override - public ValidateSubnetRequestFilterAnd read(JsonReader in) throws IOException { + public ValidateRequestFilterAnd read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance - ValidateSubnetRequestFilterAnd instance = thisAdapter.fromJsonTree(jsonObj); + ValidateRequestFilterAnd instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type @@ -332,18 +332,18 @@ else if (entry.getValue().getAsJsonPrimitive().isBoolean()) } /** - * Create an instance of ValidateSubnetRequestFilterAnd given an JSON string + * Create an instance of ValidateRequestFilterAnd given an JSON string * * @param jsonString JSON string - * @return An instance of ValidateSubnetRequestFilterAnd - * @throws IOException if the JSON string is invalid with respect to ValidateSubnetRequestFilterAnd + * @return An instance of ValidateRequestFilterAnd + * @throws IOException if the JSON string is invalid with respect to ValidateRequestFilterAnd */ - public static ValidateSubnetRequestFilterAnd fromJson(String jsonString) throws IOException { - return JSON.getGson().fromJson(jsonString, ValidateSubnetRequestFilterAnd.class); + public static ValidateRequestFilterAnd fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ValidateRequestFilterAnd.class); } /** - * Convert an instance of ValidateSubnetRequestFilterAnd to an JSON string + * Convert an instance of ValidateRequestFilterAnd to an JSON string * * @return JSON string */ diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/VirtualNetwork.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/VirtualNetwork.java new file mode 100644 index 00000000..a8b3f729 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/VirtualNetwork.java @@ -0,0 +1,312 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.equinix.openapi.fabric.JSON; + +/** + * Virtual Network Information + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class VirtualNetwork { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public static final String SERIALIZED_NAME_UUID = "uuid"; + @SerializedName(SERIALIZED_NAME_UUID) + private UUID uuid; + + public VirtualNetwork() { + } + + + public VirtualNetwork( + URI href + ) { + this(); + this.href = href; + } + + /** + * The Canonical URL at which the resource resides. + * @return href + **/ + @javax.annotation.Nullable + + public URI getHref() { + return href; + } + + + + + public VirtualNetwork uuid(UUID uuid) { + + this.uuid = uuid; + return this; + } + + /** + * Equinix-assigned Virtual Network identifier + * @return uuid + **/ + @javax.annotation.Nullable + + public UUID getUuid() { + return uuid; + } + + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + * + * @param key name of the property + * @param value value of the property + * @return the VirtualNetwork instance itself + */ + public VirtualNetwork putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return a map of objects + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key name of the property + * @return an object + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VirtualNetwork virtualNetwork = (VirtualNetwork) o; + return Objects.equals(this.href, virtualNetwork.href) && + Objects.equals(this.uuid, virtualNetwork.uuid)&& + Objects.equals(this.additionalProperties, virtualNetwork.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(href, uuid, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VirtualNetwork {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("href"); + openapiFields.add("uuid"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to VirtualNetwork + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!VirtualNetwork.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in VirtualNetwork is not found in the empty JSON string", VirtualNetwork.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + if ((jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonNull()) && !jsonObj.get("uuid").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!VirtualNetwork.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'VirtualNetwork' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(VirtualNetwork.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, VirtualNetwork value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additional properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public VirtualNetwork read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + VirtualNetwork instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else if (entry.getValue().isJsonArray()) { + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class)); + } else { // JSON object + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of VirtualNetwork given an JSON string + * + * @param jsonString JSON string + * @return An instance of VirtualNetwork + * @throws IOException if the JSON string is invalid with respect to VirtualNetwork + */ + public static VirtualNetwork fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, VirtualNetwork.class); + } + + /** + * Convert an instance of VirtualNetwork to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ConnectionsApiTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ConnectionsApiTest.java index d62dfe52..6462a10d 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ConnectionsApiTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ConnectionsApiTest.java @@ -23,7 +23,7 @@ import com.equinix.openapi.fabric.v4.model.ConnectionSearchResponse; import com.equinix.openapi.fabric.v4.model.Error; import com.equinix.openapi.fabric.v4.model.SearchRequest; -import com.equinix.openapi.fabric.v4.model.ValidateConnectionRequest; +import com.equinix.openapi.fabric.v4.model.ValidateRequest; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -136,8 +136,8 @@ public void updateConnectionByUuidTest() throws ApiException { */ @Test public void validateConnectionsTest() throws ApiException { - ValidateConnectionRequest validateConnectionRequest = null; - ConnectionResponse response = api.validateConnections(validateConnectionRequest); + ValidateRequest validateRequest = null; + ConnectionResponse response = api.validateConnections(validateRequest); // TODO: test validations } diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApiTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApiTest.java index 30a30f1e..256b0454 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApiTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/PrecisionTimeApiTest.java @@ -14,11 +14,8 @@ import com.equinix.openapi.fabric.ApiException; import com.equinix.openapi.fabric.v4.model.Error; -import com.equinix.openapi.fabric.v4.model.PackageResponse; import com.equinix.openapi.fabric.v4.model.PrecisionTimeChangeOperation; -import com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceConnectionsResponse; import com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceCreateResponse; -import com.equinix.openapi.fabric.v4.model.PrecisionTimeServicePackagesResponse; import com.equinix.openapi.fabric.v4.model.PrecisionTimeServiceRequest; import java.util.UUID; import org.junit.jupiter.api.Disabled; @@ -52,7 +49,7 @@ public void createTimeServicesTest() throws ApiException { } /** - * Delete Time Service + * Delete time service * * Delete EPT service by it's uuid * @@ -80,48 +77,7 @@ public void getTimeServicesByIdTest() throws ApiException { } /** - * Get all Connections - * - * The API provides capability to get prevision timing service's details - * - * @throws ApiException if the Api call fails - */ - @Test - public void getTimeServicesConnectionsByServiceIdTest() throws ApiException { - UUID serviceId = null; - PrecisionTimeServiceConnectionsResponse response = api.getTimeServicesConnectionsByServiceId(serviceId); - // TODO: test validations - } - - /** - * Get Package by Code - * - * The API provides capability to get timing service's package by code - * - * @throws ApiException if the Api call fails - */ - @Test - public void getTimeServicesPackageByCodeTest() throws ApiException { - String packageCode = null; - PackageResponse response = api.getTimeServicesPackageByCode(packageCode); - // TODO: test validations - } - - /** - * Get Packages - * - * The API provides capability to get timing service's packages - * - * @throws ApiException if the Api call fails - */ - @Test - public void getTimeServicesPackagesTest() throws ApiException { - PrecisionTimeServicePackagesResponse response = api.getTimeServicesPackages(); - // TODO: test validations - } - - /** - * Patch Time Service + * Patch time service * * The API provides capability to update timing service * diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApiTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApiTest.java new file mode 100644 index 00000000..a67f896a --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFilterRulesApiTest.java @@ -0,0 +1,183 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.api; + +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.v4.model.Error; +import com.equinix.openapi.fabric.v4.model.GetRouteFilterRulesResponse; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangePrefixMatch; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesBase; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeData; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeDataResponse; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesData; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesPostRequest; +import com.equinix.openapi.fabric.v4.model.RouteFiltersData; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for RouteFilterRulesApi + */ +@Disabled +public class RouteFilterRulesApiTest { + + private final RouteFilterRulesApi api = new RouteFilterRulesApi(); + + /** + * Create RFRule + * + * This API provides capability to create a Route Filter Rule + * + * @throws ApiException if the Api call fails + */ + @Test + public void createRouteFilterRuleTest() throws ApiException { + String routeFilterId = null; + RouteFilterRulesBase routeFilterRulesBase = null; + RouteFilterRulesData response = api.createRouteFilterRule(routeFilterId, routeFilterRulesBase); + // TODO: test validations + } + + /** + * Bulk RFRules + * + * This API provides capability to create bulk route filter rules + * + * @throws ApiException if the Api call fails + */ + @Test + public void createRouteFilterRulesInBulkTest() throws ApiException { + String routeFilterId = null; + RouteFilterRulesPostRequest routeFilterRulesPostRequest = null; + GetRouteFilterRulesResponse response = api.createRouteFilterRulesInBulk(routeFilterId, routeFilterRulesPostRequest); + // TODO: test validations + } + + /** + * DeleteRFRule + * + * This API provides capability to delete a Route Filter Rule + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteRouteFilterRuleByUuidTest() throws ApiException { + String routeFilterId = null; + String routeFilterRuleId = null; + RouteFilterRulesData response = api.deleteRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId); + // TODO: test validations + } + + /** + * GetRFRule By UUID + * + * This API provides capability to view a Route Filter Rule by UUID + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterRuleByUuidTest() throws ApiException { + String routeFilterId = null; + String routeFilterRuleId = null; + RouteFilterRulesData response = api.getRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId); + // TODO: test validations + } + + /** + * Get Change By ID + * + * This API provides capability to retrieve a specific Route Filter Rule's Changes + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterRuleChangeByUuidTest() throws ApiException { + String routeFilterId = null; + String routeFilterRuleId = null; + UUID changeId = null; + RouteFilterRulesChangeData response = api.getRouteFilterRuleChangeByUuid(routeFilterId, routeFilterRuleId, changeId); + // TODO: test validations + } + + /** + * Get All Changes + * + * This API provides capability to retrieve all of a Route Filter Rule's Changes + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterRuleChangesTest() throws ApiException { + String routeFilterId = null; + String routeFilterRuleId = null; + Integer offset = null; + Integer limit = null; + RouteFilterRulesChangeDataResponse response = api.getRouteFilterRuleChanges(routeFilterId, routeFilterRuleId, offset, limit); + // TODO: test validations + } + + /** + * GetRFRules + * + * This API provides capability to get all Route Filters Rules for Fabric + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterRulesTest() throws ApiException { + String routeFilterId = null; + Integer offset = null; + Integer limit = null; + GetRouteFilterRulesResponse response = api.getRouteFilterRules(routeFilterId, offset, limit); + // TODO: test validations + } + + /** + * PatchRFilterRule + * + * This API provides capability to partially update a Route Filter Rule + * + * @throws ApiException if the Api call fails + */ + @Test + public void patchRouteFilterRuleByUuidTest() throws ApiException { + String routeFilterId = null; + String routeFilterRuleId = null; + List routeFilterChangePrefixMatch = null; + RouteFiltersData response = api.patchRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId, routeFilterChangePrefixMatch); + // TODO: test validations + } + + /** + * ReplaceRFRule + * + * This API provides capability to replace a Route Filter Rule completely + * + * @throws ApiException if the Api call fails + */ + @Test + public void replaceRouteFilterRuleByUuidTest() throws ApiException { + String routeFilterId = null; + String routeFilterRuleId = null; + RouteFilterRulesBase routeFilterRulesBase = null; + RouteFilterRulesData response = api.replaceRouteFilterRuleByUuid(routeFilterId, routeFilterRuleId, routeFilterRulesBase); + // TODO: test validations + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApiTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApiTest.java new file mode 100644 index 00000000..58323c85 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RouteFiltersApiTest.java @@ -0,0 +1,220 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.api; + +import com.equinix.openapi.fabric.ApiException; +import com.equinix.openapi.fabric.v4.model.ConnectionChangeOperation; +import com.equinix.openapi.fabric.v4.model.ConnectionRouteFilterData; +import com.equinix.openapi.fabric.v4.model.ConnectionRouteFiltersBase; +import com.equinix.openapi.fabric.v4.model.Error; +import com.equinix.openapi.fabric.v4.model.GetAllConnectionRouteFiltersResponse; +import com.equinix.openapi.fabric.v4.model.GetRouteFilterGetConnectionsResponse; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangeData; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangeDataResponse; +import com.equinix.openapi.fabric.v4.model.RouteFiltersBase; +import com.equinix.openapi.fabric.v4.model.RouteFiltersData; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for RouteFiltersApi + */ +@Disabled +public class RouteFiltersApiTest { + + private final RouteFiltersApi api = new RouteFiltersApi(); + + /** + * Attach Route Filter + * + * This API provides capability to attach a Route Filter to a Connection + * + * @throws ApiException if the Api call fails + */ + @Test + public void attachConnectionRouteFilterTest() throws ApiException { + String routeFilterId = null; + String connectionId = null; + ConnectionRouteFiltersBase connectionRouteFiltersBase = null; + ConnectionRouteFilterData response = api.attachConnectionRouteFilter(routeFilterId, connectionId, connectionRouteFiltersBase); + // TODO: test validations + } + + /** + * Create Route Filters + * + * This API provides capability to create a Route Filter + * + * @throws ApiException if the Api call fails + */ + @Test + public void createRouteFilterTest() throws ApiException { + RouteFiltersBase routeFiltersBase = null; + RouteFiltersData response = api.createRouteFilter(routeFiltersBase); + // TODO: test validations + } + + /** + * Delete Route Filter + * + * This API provides capability to delete a Route Filter + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteRouteFilterByUuidTest() throws ApiException { + String routeFilterId = null; + RouteFiltersData response = api.deleteRouteFilterByUuid(routeFilterId); + // TODO: test validations + } + + /** + * Detach Route Filter + * + * This API provides capability to detach a Route Filter from a Connection + * + * @throws ApiException if the Api call fails + */ + @Test + public void detachConnectionRouteFilterTest() throws ApiException { + String routeFilterId = null; + String connectionId = null; + ConnectionRouteFilterData response = api.detachConnectionRouteFilter(routeFilterId, connectionId); + // TODO: test validations + } + + /** + * Get Route Filter + * + * This API provides capability to view a specific Route Filter attached to a Connection + * + * @throws ApiException if the Api call fails + */ + @Test + public void getConnectionRouteFilterByUuidTest() throws ApiException { + String routeFilterId = null; + String connectionId = null; + ConnectionRouteFilterData response = api.getConnectionRouteFilterByUuid(routeFilterId, connectionId); + // TODO: test validations + } + + /** + * Get All RouteFilters + * + * This API provides capability to view all Route Filters attached to a Connection + * + * @throws ApiException if the Api call fails + */ + @Test + public void getConnectionRouteFiltersTest() throws ApiException { + String connectionId = null; + GetAllConnectionRouteFiltersResponse response = api.getConnectionRouteFilters(connectionId); + // TODO: test validations + } + + /** + * Get Filter By UUID + * + * This API provides capability to view a Route Filter by UUID + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterByUuidTest() throws ApiException { + String routeFilterId = null; + RouteFiltersData response = api.getRouteFilterByUuid(routeFilterId); + // TODO: test validations + } + + /** + * Get Change By ID + * + * This API provides capability to retrieve a specific Route Filter's Changes + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterChangeByUuidTest() throws ApiException { + String routeFilterId = null; + UUID changeId = null; + RouteFilterChangeData response = api.getRouteFilterChangeByUuid(routeFilterId, changeId); + // TODO: test validations + } + + /** + * Get All Changes + * + * This API provides capability to retrieve all of a Route Filter's Changes + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterChangesTest() throws ApiException { + String routeFilterId = null; + Integer offset = null; + Integer limit = null; + RouteFilterChangeDataResponse response = api.getRouteFilterChanges(routeFilterId, offset, limit); + // TODO: test validations + } + + /** + * Get Connections + * + * This API provides capability to view all Connections using the Route Filter + * + * @throws ApiException if the Api call fails + */ + @Test + public void getRouteFilterConnectionsTest() throws ApiException { + String routeFilterId = null; + GetRouteFilterGetConnectionsResponse response = api.getRouteFilterConnections(routeFilterId); + // TODO: test validations + } + + /** + * Patch Route Filter + * + * This API provides capability to partially update a Route Filter + * + * @throws ApiException if the Api call fails + */ + @Test + public void patchRouteFilterByUuidTest() throws ApiException { + String routeFilterId = null; + List connectionChangeOperation = null; + RouteFiltersData response = api.patchRouteFilterByUuid(routeFilterId, connectionChangeOperation); + // TODO: test validations + } + + /** + * Replace Route Filter + * + * This API provides capability to replace a Route Filter completely + * + * @throws ApiException if the Api call fails + */ + @Test + public void replaceRouteFilterByUuidTest() throws ApiException { + String routeFilterId = null; + RouteFiltersBase routeFiltersBase = null; + RouteFiltersData response = api.replaceRouteFilterByUuid(routeFilterId, routeFiltersBase); + // TODO: test validations + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApiTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApiTest.java index d3dd23bc..812c040c 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApiTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/RoutingProtocolsApiTest.java @@ -25,7 +25,7 @@ import com.equinix.openapi.fabric.v4.model.RoutingProtocolChangeDataResponse; import com.equinix.openapi.fabric.v4.model.RoutingProtocolData; import java.util.UUID; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequest; +import com.equinix.openapi.fabric.v4.model.ValidateRequest; import com.equinix.openapi.fabric.v4.model.ValidateSubnetResponse; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -243,8 +243,8 @@ public void replaceConnectionRoutingProtocolByUuidTest() throws ApiException { @Test public void validateRoutingProtocolTest() throws ApiException { UUID routerId = null; - ValidateSubnetRequest validateSubnetRequest = null; - ValidateSubnetResponse response = api.validateRoutingProtocol(routerId, validateSubnetRequest); + ValidateRequest validateRequest = null; + ValidateSubnetResponse response = api.validateRoutingProtocol(routerId, validateRequest); // TODO: test validations } diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApiTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApiTest.java index d9f8a09a..f054fb4d 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApiTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/api/ServiceProfilesApiTest.java @@ -15,6 +15,7 @@ import com.equinix.openapi.fabric.ApiException; import com.equinix.openapi.fabric.v4.model.Error; import com.equinix.openapi.fabric.v4.model.JsonPatchOperation; +import com.equinix.openapi.fabric.v4.model.ServiceMetros; import com.equinix.openapi.fabric.v4.model.ServiceProfile; import com.equinix.openapi.fabric.v4.model.ServiceProfileRequest; import com.equinix.openapi.fabric.v4.model.ServiceProfileSearchRequest; @@ -79,6 +80,22 @@ public void getServiceProfileByUuidTest() throws ApiException { // TODO: test validations } + /** + * Get Profile Metros + * + * Get service profile metros by UUID. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getServiceProfileMetrosByUuidTest() throws ApiException { + UUID serviceProfileId = null; + Integer offset = null; + Integer limit = null; + ServiceMetros response = api.getServiceProfileMetrosByUuid(serviceProfileId, offset, limit); + // TODO: test validations + } + /** * Get all Profiles * diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/AccessPointTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/AccessPointTest.java index f39f6b68..ccfc7a1b 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/AccessPointTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/AccessPointTest.java @@ -23,6 +23,7 @@ import com.equinix.openapi.fabric.v4.model.SimplifiedPort; import com.equinix.openapi.fabric.v4.model.SimplifiedServiceProfile; import com.equinix.openapi.fabric.v4.model.VirtualDevice; +import com.equinix.openapi.fabric.v4.model.VirtualNetwork; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -159,4 +160,12 @@ public void providerConnectionIdTest() { // TODO: test providerConnectionId } + /** + * Test the property 'virtualNetwork' + */ + @Test + public void virtualNetworkTest() { + // TODO: test virtualNetwork + } + } diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterDataTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterDataTest.java new file mode 100644 index 00000000..29dc3cc7 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFilterDataTest.java @@ -0,0 +1,81 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for ConnectionRouteFilterData + */ +public class ConnectionRouteFilterDataTest { + private final ConnectionRouteFilterData model = new ConnectionRouteFilterData(); + + /** + * Model tests for ConnectionRouteFilterData + */ + @Test + public void testConnectionRouteFilterData() { + // TODO: test ConnectionRouteFilterData + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'attachmentStatus' + */ + @Test + public void attachmentStatusTest() { + // TODO: test attachmentStatus + } + + /** + * Test the property 'direction' + */ + @Test + public void directionTest() { + // TODO: test direction + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequestTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBaseTest.java similarity index 70% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequestTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBaseTest.java index 12f9a5b9..4aac5a7e 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateConnectionRequestTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionRouteFiltersBaseTest.java @@ -12,7 +12,6 @@ package com.equinix.openapi.fabric.v4.model; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilter; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -24,25 +23,25 @@ /** - * Model tests for ValidateConnectionRequest + * Model tests for ConnectionRouteFiltersBase */ -public class ValidateConnectionRequestTest { - private final ValidateConnectionRequest model = new ValidateConnectionRequest(); +public class ConnectionRouteFiltersBaseTest { + private final ConnectionRouteFiltersBase model = new ConnectionRouteFiltersBase(); /** - * Model tests for ValidateConnectionRequest + * Model tests for ConnectionRouteFiltersBase */ @Test - public void testValidateConnectionRequest() { - // TODO: test ValidateConnectionRequest + public void testConnectionRouteFiltersBase() { + // TODO: test ConnectionRouteFiltersBase } /** - * Test the property 'filter' + * Test the property 'direction' */ @Test - public void filterTest() { - // TODO: test filter + public void directionTest() { + // TODO: test direction } } diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponseTest.java similarity index 75% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponseTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponseTest.java index f2cf4e05..fdae2686 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnectionsResponseTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetAllConnectionRouteFiltersResponseTest.java @@ -12,7 +12,7 @@ package com.equinix.openapi.fabric.v4.model; -import com.equinix.openapi.fabric.v4.model.ConnectionLink; +import com.equinix.openapi.fabric.v4.model.ConnectionRouteFilterData; import com.equinix.openapi.fabric.v4.model.Pagination; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; @@ -27,17 +27,17 @@ /** - * Model tests for PrecisionTimeServiceConnectionsResponse + * Model tests for GetAllConnectionRouteFiltersResponse */ -public class PrecisionTimeServiceConnectionsResponseTest { - private final PrecisionTimeServiceConnectionsResponse model = new PrecisionTimeServiceConnectionsResponse(); +public class GetAllConnectionRouteFiltersResponseTest { + private final GetAllConnectionRouteFiltersResponse model = new GetAllConnectionRouteFiltersResponse(); /** - * Model tests for PrecisionTimeServiceConnectionsResponse + * Model tests for GetAllConnectionRouteFiltersResponse */ @Test - public void testPrecisionTimeServiceConnectionsResponse() { - // TODO: test PrecisionTimeServiceConnectionsResponse + public void testGetAllConnectionRouteFiltersResponse() { + // TODO: test GetAllConnectionRouteFiltersResponse } /** diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponseTest.java new file mode 100644 index 00000000..51b0cf74 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterGetConnectionsResponseTest.java @@ -0,0 +1,59 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterConnectionsData; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for GetRouteFilterGetConnectionsResponse + */ +public class GetRouteFilterGetConnectionsResponseTest { + private final GetRouteFilterGetConnectionsResponse model = new GetRouteFilterGetConnectionsResponse(); + + /** + * Model tests for GetRouteFilterGetConnectionsResponse + */ + @Test + public void testGetRouteFilterGetConnectionsResponse() { + // TODO: test GetRouteFilterGetConnectionsResponse + } + + /** + * Test the property 'pagination' + */ + @Test + public void paginationTest() { + // TODO: test pagination + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponseTest.java similarity index 76% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponseTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponseTest.java index ac4accf4..72fd7868 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServicePackagesResponseTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/GetRouteFilterRulesResponseTest.java @@ -12,8 +12,8 @@ package com.equinix.openapi.fabric.v4.model; -import com.equinix.openapi.fabric.v4.model.PackageResponse; import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesData; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -27,17 +27,17 @@ /** - * Model tests for PrecisionTimeServicePackagesResponse + * Model tests for GetRouteFilterRulesResponse */ -public class PrecisionTimeServicePackagesResponseTest { - private final PrecisionTimeServicePackagesResponse model = new PrecisionTimeServicePackagesResponse(); +public class GetRouteFilterRulesResponseTest { + private final GetRouteFilterRulesResponse model = new GetRouteFilterRulesResponse(); /** - * Model tests for PrecisionTimeServicePackagesResponse + * Model tests for GetRouteFilterRulesResponse */ @Test - public void testPrecisionTimeServicePackagesResponse() { - // TODO: test PrecisionTimeServicePackagesResponse + public void testGetRouteFilterRulesResponse() { + // TODO: test GetRouteFilterRulesResponse } /** diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolTest.java index ac8f88d3..582f4b5c 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolTest.java @@ -18,6 +18,7 @@ import com.equinix.openapi.fabric.v4.model.LinkProtocolQinq; import com.equinix.openapi.fabric.v4.model.LinkProtocolType; import com.equinix.openapi.fabric.v4.model.LinkProtocolUntagged; +import com.equinix.openapi.fabric.v4.model.LinkProtocolVxlan; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -154,6 +155,14 @@ public void subInterfaceTest() { // TODO: test subInterface } + /** + * Test the property 'vni' + */ + @Test + public void vniTest() { + // TODO: test vni + } + /** * Test the property 'vnid' */ diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlanTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlanTest.java new file mode 100644 index 00000000..eed913a6 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/LinkProtocolVxlanTest.java @@ -0,0 +1,56 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.LinkProtocolType; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for LinkProtocolVxlan + */ +public class LinkProtocolVxlanTest { + private final LinkProtocolVxlan model = new LinkProtocolVxlan(); + + /** + * Model tests for LinkProtocolVxlan + */ + @Test + public void testLinkProtocolVxlan() { + // TODO: test LinkProtocolVxlan + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'vni' + */ + @Test + public void vniTest() { + // TODO: test vni + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ModelInterfaceTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ModelInterfaceTest.java index cadc2ad5..337ffaca 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ModelInterfaceTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ModelInterfaceTest.java @@ -70,4 +70,12 @@ public void typeTest() { // TODO: test type } + /** + * Test the property 'projectId' + */ + @Test + public void projectIdTest() { + // TODO: test projectId + } + } diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponseTest.java new file mode 100644 index 00000000..0cde4004 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataResponseTest.java @@ -0,0 +1,59 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterChangeData; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterChangeDataResponse + */ +public class RouteFilterChangeDataResponseTest { + private final RouteFilterChangeDataResponse model = new RouteFilterChangeDataResponse(); + + /** + * Model tests for RouteFilterChangeDataResponse + */ + @Test + public void testRouteFilterChangeDataResponse() { + // TODO: test RouteFilterChangeDataResponse + } + + /** + * Test the property 'pagination' + */ + @Test + public void paginationTest() { + // TODO: test pagination + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataTest.java new file mode 100644 index 00000000..8624b5cf --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangeDataTest.java @@ -0,0 +1,66 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.RouteFiltersChangeOperation; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.time.OffsetDateTime; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterChangeData + */ +public class RouteFilterChangeDataTest { + private final RouteFilterChangeData model = new RouteFilterChangeData(); + + /** + * Model tests for RouteFilterChangeData + */ + @Test + public void testRouteFilterChangeData() { + // TODO: test RouteFilterChangeData + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatchTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatchTest.java new file mode 100644 index 00000000..11e037bf --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterChangePrefixMatchTest.java @@ -0,0 +1,63 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterChangePrefixMatch + */ +public class RouteFilterChangePrefixMatchTest { + private final RouteFilterChangePrefixMatch model = new RouteFilterChangePrefixMatch(); + + /** + * Model tests for RouteFilterChangePrefixMatch + */ + @Test + public void testRouteFilterChangePrefixMatch() { + // TODO: test RouteFilterChangePrefixMatch + } + + /** + * Test the property 'op' + */ + @Test + public void opTest() { + // TODO: test op + } + + /** + * Test the property 'path' + */ + @Test + public void pathTest() { + // TODO: test path + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsDataTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsDataTest.java new file mode 100644 index 00000000..673ec7d4 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterConnectionsDataTest.java @@ -0,0 +1,74 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.ConnectionType; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterConnectionsData + */ +public class RouteFilterConnectionsDataTest { + private final RouteFilterConnectionsData model = new RouteFilterConnectionsData(); + + /** + * Model tests for RouteFilterConnectionsData + */ + @Test + public void testRouteFilterConnectionsData() { + // TODO: test RouteFilterConnectionsData + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBaseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBaseTest.java new file mode 100644 index 00000000..edc19cee --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesBaseTest.java @@ -0,0 +1,71 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesBase + */ +public class RouteFilterRulesBaseTest { + private final RouteFilterRulesBase model = new RouteFilterRulesBase(); + + /** + * Model tests for RouteFilterRulesBase + */ + @Test + public void testRouteFilterRulesBase() { + // TODO: test RouteFilterRulesBase + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'prefix' + */ + @Test + public void prefixTest() { + // TODO: test prefix + } + + /** + * Test the property 'prefixMatch' + */ + @Test + public void prefixMatchTest() { + // TODO: test prefixMatch + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponseTest.java new file mode 100644 index 00000000..47644f3b --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataResponseTest.java @@ -0,0 +1,59 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeData; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesChangeDataResponse + */ +public class RouteFilterRulesChangeDataResponseTest { + private final RouteFilterRulesChangeDataResponse model = new RouteFilterRulesChangeDataResponse(); + + /** + * Model tests for RouteFilterRulesChangeDataResponse + */ + @Test + public void testRouteFilterRulesChangeDataResponse() { + // TODO: test RouteFilterRulesChangeDataResponse + } + + /** + * Test the property 'pagination' + */ + @Test + public void paginationTest() { + // TODO: test pagination + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataTest.java new file mode 100644 index 00000000..6911e282 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeDataTest.java @@ -0,0 +1,66 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChangeOperation; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.time.OffsetDateTime; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesChangeData + */ +public class RouteFilterRulesChangeDataTest { + private final RouteFilterRulesChangeData model = new RouteFilterRulesChangeData(); + + /** + * Model tests for RouteFilterRulesChangeData + */ + @Test + public void testRouteFilterRulesChangeData() { + // TODO: test RouteFilterRulesChangeData + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperationTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperationTest.java new file mode 100644 index 00000000..d67f43cb --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeOperationTest.java @@ -0,0 +1,79 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesChangeOperation + */ +public class RouteFilterRulesChangeOperationTest { + private final RouteFilterRulesChangeOperation model = new RouteFilterRulesChangeOperation(); + + /** + * Model tests for RouteFilterRulesChangeOperation + */ + @Test + public void testRouteFilterRulesChangeOperation() { + // TODO: test RouteFilterRulesChangeOperation + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'prefix' + */ + @Test + public void prefixTest() { + // TODO: test prefix + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeTest.java new file mode 100644 index 00000000..ba045f73 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesChangeTest.java @@ -0,0 +1,64 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesChange + */ +public class RouteFilterRulesChangeTest { + private final RouteFilterRulesChange model = new RouteFilterRulesChange(); + + /** + * Model tests for RouteFilterRulesChange + */ + @Test + public void testRouteFilterRulesChange() { + // TODO: test RouteFilterRulesChange + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesDataTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesDataTest.java new file mode 100644 index 00000000..8f653fed --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesDataTest.java @@ -0,0 +1,123 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Changelog; +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesChange; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesData + */ +public class RouteFilterRulesDataTest { + private final RouteFilterRulesData model = new RouteFilterRulesData(); + + /** + * Model tests for RouteFilterRulesData + */ + @Test + public void testRouteFilterRulesData() { + // TODO: test RouteFilterRulesData + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'prefixMatch' + */ + @Test + public void prefixMatchTest() { + // TODO: test prefixMatch + } + + /** + * Test the property 'change' + */ + @Test + public void changeTest() { + // TODO: test change + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + + /** + * Test the property 'prefix' + */ + @Test + public void prefixTest() { + // TODO: test prefix + } + + /** + * Test the property 'changelog' + */ + @Test + public void changelogTest() { + // TODO: test changelog + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequestTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequestTest.java new file mode 100644 index 00000000..81db3bcd --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterRulesPostRequestTest.java @@ -0,0 +1,50 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.RouteFilterRulesBase; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterRulesPostRequest + */ +public class RouteFilterRulesPostRequestTest { + private final RouteFilterRulesPostRequest model = new RouteFilterRulesPostRequest(); + + /** + * Model tests for RouteFilterRulesPostRequest + */ + @Test + public void testRouteFilterRulesPostRequest() { + // TODO: test RouteFilterRulesPostRequest + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterStateTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterStateTest.java new file mode 100644 index 00000000..37c60d47 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFilterStateTest.java @@ -0,0 +1,32 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.annotations.SerializedName; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFilterState + */ +public class RouteFilterStateTest { + /** + * Model tests for RouteFilterState + */ + @Test + public void testRouteFilterState() { + // TODO: test RouteFilterState + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBaseTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBaseTest.java new file mode 100644 index 00000000..3d993d6c --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersBaseTest.java @@ -0,0 +1,83 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Project; +import com.equinix.openapi.fabric.v4.model.SimplifiedNotification; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFiltersBase + */ +public class RouteFiltersBaseTest { + private final RouteFiltersBase model = new RouteFiltersBase(); + + /** + * Model tests for RouteFiltersBase + */ + @Test + public void testRouteFiltersBase() { + // TODO: test RouteFiltersBase + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'project' + */ + @Test + public void projectTest() { + // TODO: test project + } + + /** + * Test the property 'notifications' + */ + @Test + public void notificationsTest() { + // TODO: test notifications + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperationTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperationTest.java new file mode 100644 index 00000000..f1e13561 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeOperationTest.java @@ -0,0 +1,64 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.RouteFiltersBase; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFiltersChangeOperation + */ +public class RouteFiltersChangeOperationTest { + private final RouteFiltersChangeOperation model = new RouteFiltersChangeOperation(); + + /** + * Model tests for RouteFiltersChangeOperation + */ + @Test + public void testRouteFiltersChangeOperation() { + // TODO: test RouteFiltersChangeOperation + } + + /** + * Test the property 'op' + */ + @Test + public void opTest() { + // TODO: test op + } + + /** + * Test the property 'path' + */ + @Test + public void pathTest() { + // TODO: test path + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionLinkTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeTest.java similarity index 84% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionLinkTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeTest.java index 5bf0affa..72f905af 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ConnectionLinkTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersChangeTest.java @@ -19,31 +19,30 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; -import java.util.UUID; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for ConnectionLink + * Model tests for RouteFiltersChange */ -public class ConnectionLinkTest { - private final ConnectionLink model = new ConnectionLink(); +public class RouteFiltersChangeTest { + private final RouteFiltersChange model = new RouteFiltersChange(); /** - * Model tests for ConnectionLink + * Model tests for RouteFiltersChange */ @Test - public void testConnectionLink() { - // TODO: test ConnectionLink + public void testRouteFiltersChange() { + // TODO: test RouteFiltersChange } /** - * Test the property 'href' + * Test the property 'uuid' */ @Test - public void hrefTest() { - // TODO: test href + public void uuidTest() { + // TODO: test uuid } /** @@ -55,11 +54,11 @@ public void typeTest() { } /** - * Test the property 'uuid' + * Test the property 'href' */ @Test - public void uuidTest() { - // TODO: test uuid + public void hrefTest() { + // TODO: test href } } diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOfTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOfTest.java new file mode 100644 index 00000000..be23bc17 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectAllOfTest.java @@ -0,0 +1,48 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFiltersDataProjectAllOf + */ +public class RouteFiltersDataProjectAllOfTest { + private final RouteFiltersDataProjectAllOf model = new RouteFiltersDataProjectAllOf(); + + /** + * Model tests for RouteFiltersDataProjectAllOf + */ + @Test + public void testRouteFiltersDataProjectAllOf() { + // TODO: test RouteFiltersDataProjectAllOf + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectTest.java new file mode 100644 index 00000000..e76359f9 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataProjectTest.java @@ -0,0 +1,56 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFiltersDataProject + */ +public class RouteFiltersDataProjectTest { + private final RouteFiltersDataProject model = new RouteFiltersDataProject(); + + /** + * Model tests for RouteFiltersDataProject + */ + @Test + public void testRouteFiltersDataProject() { + // TODO: test RouteFiltersDataProject + } + + /** + * Test the property 'projectId' + */ + @Test + public void projectIdTest() { + // TODO: test projectId + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataTest.java new file mode 100644 index 00000000..81e4c736 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/RouteFiltersDataTest.java @@ -0,0 +1,144 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Changelog; +import com.equinix.openapi.fabric.v4.model.RouteFilterState; +import com.equinix.openapi.fabric.v4.model.RouteFiltersChange; +import com.equinix.openapi.fabric.v4.model.RouteFiltersDataProject; +import com.equinix.openapi.fabric.v4.model.SimplifiedNotification; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for RouteFiltersData + */ +public class RouteFiltersDataTest { + private final RouteFiltersData model = new RouteFiltersData(); + + /** + * Model tests for RouteFiltersData + */ + @Test + public void testRouteFiltersData() { + // TODO: test RouteFiltersData + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'state' + */ + @Test + public void stateTest() { + // TODO: test state + } + + /** + * Test the property 'change' + */ + @Test + public void changeTest() { + // TODO: test change + } + + /** + * Test the property 'notMatchedRuleAction' + */ + @Test + public void notMatchedRuleActionTest() { + // TODO: test notMatchedRuleAction + } + + /** + * Test the property 'connectionsCount' + */ + @Test + public void connectionsCountTest() { + // TODO: test connectionsCount + } + + /** + * Test the property 'project' + */ + @Test + public void projectTest() { + // TODO: test project + } + + /** + * Test the property 'notifications' + */ + @Test + public void notificationsTest() { + // TODO: test notifications + } + + /** + * Test the property 'changelog' + */ + @Test + public void changelogTest() { + // TODO: test changelog + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetroTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetroTest.java index 536fe181..923eafc0 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetroTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetroTest.java @@ -56,6 +56,14 @@ public void nameTest() { // TODO: test name } + /** + * Test the property 'vcBandwidthMax' + */ + @Test + public void vcBandwidthMaxTest() { + // TODO: test vcBandwidthMax + } + /** * Test the property 'ibxs' */ diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetrosTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetrosTest.java new file mode 100644 index 00000000..ef477dae --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ServiceMetrosTest.java @@ -0,0 +1,59 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.equinix.openapi.fabric.v4.model.Pagination; +import com.equinix.openapi.fabric.v4.model.ServiceMetro; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for ServiceMetros + */ +public class ServiceMetrosTest { + private final ServiceMetros model = new ServiceMetros(); + + /** + * Model tests for ServiceMetros + */ + @Test + public void testServiceMetros() { + // TODO: test ServiceMetros + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'pagination' + */ + @Test + public void paginationTest() { + // TODO: test pagination + } + +} diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAndTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAndTest.java similarity index 81% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAndTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAndTest.java index 9c35b8f7..1346285d 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterAndTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAndTest.java @@ -25,17 +25,17 @@ /** - * Model tests for ValidateSubnetRequestFilterAnd + * Model tests for ValidateRequestFilterAnd */ -public class ValidateSubnetRequestFilterAndTest { - private final ValidateSubnetRequestFilterAnd model = new ValidateSubnetRequestFilterAnd(); +public class ValidateRequestFilterAndTest { + private final ValidateRequestFilterAnd model = new ValidateRequestFilterAnd(); /** - * Model tests for ValidateSubnetRequestFilterAnd + * Model tests for ValidateRequestFilterAnd */ @Test - public void testValidateSubnetRequestFilterAnd() { - // TODO: test ValidateSubnetRequestFilterAnd + public void testValidateRequestFilterAnd() { + // TODO: test ValidateRequestFilterAnd } /** diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterTest.java similarity index 76% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterTest.java index 90f78692..38ab528e 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestFilterTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterTest.java @@ -12,7 +12,7 @@ package com.equinix.openapi.fabric.v4.model; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilterAnd; +import com.equinix.openapi.fabric.v4.model.ValidateRequestFilterAnd; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -26,17 +26,17 @@ /** - * Model tests for ValidateSubnetRequestFilter + * Model tests for ValidateRequestFilter */ -public class ValidateSubnetRequestFilterTest { - private final ValidateSubnetRequestFilter model = new ValidateSubnetRequestFilter(); +public class ValidateRequestFilterTest { + private final ValidateRequestFilter model = new ValidateRequestFilter(); /** - * Model tests for ValidateSubnetRequestFilter + * Model tests for ValidateRequestFilter */ @Test - public void testValidateSubnetRequestFilter() { - // TODO: test ValidateSubnetRequestFilter + public void testValidateRequestFilter() { + // TODO: test ValidateRequestFilter } /** diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestTest.java similarity index 77% rename from equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestTest.java rename to equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestTest.java index 5237b9da..d1d1f2ef 100644 --- a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateSubnetRequestTest.java +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestTest.java @@ -12,7 +12,7 @@ package com.equinix.openapi.fabric.v4.model; -import com.equinix.openapi.fabric.v4.model.ValidateSubnetRequestFilter; +import com.equinix.openapi.fabric.v4.model.ValidateRequestFilter; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -24,17 +24,17 @@ /** - * Model tests for ValidateSubnetRequest + * Model tests for ValidateRequest */ -public class ValidateSubnetRequestTest { - private final ValidateSubnetRequest model = new ValidateSubnetRequest(); +public class ValidateRequestTest { + private final ValidateRequest model = new ValidateRequest(); /** - * Model tests for ValidateSubnetRequest + * Model tests for ValidateRequest */ @Test - public void testValidateSubnetRequest() { - // TODO: test ValidateSubnetRequest + public void testValidateRequest() { + // TODO: test ValidateRequest } /** diff --git a/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/VirtualNetworkTest.java b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/VirtualNetworkTest.java new file mode 100644 index 00000000..91e1aa76 --- /dev/null +++ b/equinix-openapi-fabric/src/test/java/com/equinix/openapi/fabric/v4/model/VirtualNetworkTest.java @@ -0,0 +1,57 @@ +/* + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.equinix.openapi.fabric.v4.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for VirtualNetwork + */ +public class VirtualNetworkTest { + private final VirtualNetwork model = new VirtualNetwork(); + + /** + * Model tests for VirtualNetwork + */ + @Test + public void testVirtualNetwork() { + // TODO: test VirtualNetwork + } + + /** + * Test the property 'href' + */ + @Test + public void hrefTest() { + // TODO: test href + } + + /** + * Test the property 'uuid' + */ + @Test + public void uuidTest() { + // TODO: test uuid + } + +}