From 78e92bda5a3c54cca2b12a55382d80f090164b3f Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 13 Aug 2024 04:55:41 +0000
Subject: [PATCH 1/3] sync: fetch 2024-08-13 spec and apply patches
---
spec/oas3.fabric.fetched.json | 1565 ++++++++++++++++++++++++++++++---
spec/oas3.fabric.patched.json | 1565 ++++++++++++++++++++++++++++++---
2 files changed, 2922 insertions(+), 208 deletions(-)
diff --git a/spec/oas3.fabric.fetched.json b/spec/oas3.fabric.fetched.json
index e6697b2a..36eeef94 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.14"
+ "version": "4.15"
},
"externalDocs": {
"description": "Find more information on Equinix Developer Portal",
@@ -233,6 +233,9 @@
"Fcr2IpWan": {
"$ref": "#/components/examples/Fcr2IpWan"
},
+ "Fcr2Sp-Aws-Marketplace-subscription": {
+ "$ref": "#/components/examples/Fcr2Sp-Aws-marketplaceSubscription"
+ },
"Fcr2MetalNetwork": {
"$ref": "#/components/examples/Fcr2Metal-Network"
},
@@ -340,6 +343,9 @@
"Fcr2IpWan": {
"$ref": "#/components/examples/Fcr2IpWan-response"
},
+ "Fcr2Sp-Marketplace-subscription": {
+ "$ref": "#/components/examples/Fcr2Sp-marketplaceSubscription-Response"
+ },
"ServiceToken2PortResponseDot1Q": {
"$ref": "#/components/examples/AsideServiceToken2PortResponseWithDot1q"
},
@@ -846,6 +852,9 @@
"BGPSync": {
"$ref": "#/components/examples/Connection_Provider_Status_Request"
},
+ "GetProviderBandwidth": {
+ "$ref": "#/components/examples/Connection_Provider_Bandwidth_Request"
+ },
"AcceptZSide-NetworkEdge": {
"$ref": "#/components/examples/AcceptZSide_NetworkEdge_Request"
}
@@ -865,6 +874,9 @@
"examples": {
"connectionActionExample": {
"$ref": "#/components/examples/ConnectionActionResponse"
+ },
+ "GetProviderBandwidth": {
+ "$ref": "#/components/examples/Connection_Provider_Bandwidth_Response"
}
}
}
@@ -8747,6 +8759,9 @@
},
"CreateProPackage": {
"$ref": "#/components/examples/CreateStandardPackage"
+ },
+ "CreateWithMarketplaceSubscription": {
+ "$ref": "#/components/examples/CreateWithMarketplaceSubscription"
}
}
}
@@ -8764,6 +8779,9 @@
"examples": {
"cloudRouterResponse": {
"$ref": "#/components/examples/CloudRouterPostResponseExample"
+ },
+ "cloudRouterResponseForMarketplaceSubscription": {
+ "$ref": "#/components/examples/CloudRouterPostResponseMarketplaceExample"
}
}
}
@@ -8877,6 +8895,9 @@
"examples": {
"cloudRouterResponse": {
"$ref": "#/components/examples/CloudRouterResponseExample"
+ },
+ "cloudRouterResponseMarketplace": {
+ "$ref": "#/components/examples/CloudRouterResponseExampleMarketplace"
}
}
}
@@ -11385,7 +11406,10 @@
},
"examples": {
"editName": {
- "$ref": "#/components/examples/edit"
+ "$ref": "#/components/examples/editName"
+ },
+ "editPackageCode": {
+ "$ref": "#/components/examples/editPackageCode"
}
}
}
@@ -11631,14 +11655,17 @@
"$ref": "#/components/schemas/precisionTimeServiceRequest"
},
"examples": {
- "ntpSingleStandard": {
- "$ref": "#/components/examples/ntpSingleStandard"
+ "ntpStandard": {
+ "$ref": "#/components/examples/ntpStandard"
+ },
+ "ptpStandard": {
+ "$ref": "#/components/examples/ptpStandard"
},
- "ptpSingleStandard": {
- "$ref": "#/components/examples/ptpSingleStandard"
+ "ptpEnterpriseWithAdvanceConfiguration": {
+ "$ref": "#/components/examples/ptpEnterpriseWithAdvanceConfiguration"
},
- "ptpSingleEnterpriseWithAdvanceConfiguration": {
- "$ref": "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration"
+ "ntpEnterpriseWithAdvanceConfiguration": {
+ "$ref": "#/components/examples/ntpEnterpriseWithAdvanceConfiguration"
}
}
}
@@ -11868,6 +11895,130 @@
}
}
},
+ "/fabric/v4/timeServices/search": {
+ "post": {
+ "tags": [
+ "Precision Time"
+ ],
+ "summary": "Search Time Services",
+ "description": "The API provides capability to get list of user's Time Services using search criteria, including optional filtering, pagination and sorting",
+ "operationId": "searchTimeServices",
+ "parameters": [],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TimeServicesSearchRequest"
+ },
+ "examples": {
+ "SearchFilterByStatus": {
+ "$ref": "#/components/examples/SearchTimeServicesFilterByStatus"
+ },
+ "SearchFilterByNameAndProtocol": {
+ "$ref": "#/components/examples/SearchTimeServicesByNameAndProtocol"
+ },
+ "SearchFilterOrAnd": {
+ "$ref": "#/components/examples/SearchTimeServicesFilterOrAnd"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ServiceSearchResponse"
+ },
+ "examples": {
+ "Example": {
+ "$ref": "#/components/examples/serviceSearchResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/service_400_invalid_sorting"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/401"
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/403"
+ }
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "Unsupported Media Type",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/415"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/500"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"/fabric/v4/timeServices/{serviceId}/connections": {
"get": {
"tags": [
@@ -12097,6 +12248,105 @@
}
}
}
+ },
+ "/fabric/v4/marketplaceSubscriptions/{subscriptionId}": {
+ "get": {
+ "tags": [
+ "Marketplace Subscriptions"
+ ],
+ "summary": "Get Subscription",
+ "description": "The API provides capability to get subscription",
+ "operationId": "getSubscriptionById",
+ "parameters": [
+ {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription UUID",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/SubscriptionId"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SubscriptionResponse"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/subscription-response"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-preview": false
+ }
}
},
"components": {
@@ -12156,6 +12406,9 @@
"items": {
"$ref": "#/components/schemas/ConnectionSideAdditionalInfo"
}
+ },
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
}
},
"description": "Create connection post request"
@@ -12241,6 +12494,9 @@
"zSide": {
"$ref": "#/components/schemas/ConnectionSide"
},
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
+ },
"additionalInfo": {
"type": "array",
"description": "Connection additional information",
@@ -12414,6 +12670,10 @@
"type": "string",
"description": "BGP authorization key"
},
+ "asOverrideEnabled": {
+ "type": "boolean",
+ "description": "Enable AS number override"
+ },
"bfd": {
"$ref": "#/components/schemas/RoutingProtocolBFD"
}
@@ -14510,6 +14770,13 @@
"demarcationPoint": {
"$ref": "#/components/schemas/PortDemarcationPoint"
},
+ "notifications": {
+ "type": "array",
+ "description": "Notification preferences",
+ "items": {
+ "$ref": "#/components/schemas/PortNotification"
+ }
+ },
"additionalInfo": {
"type": "array",
"description": "Physical Port additional information",
@@ -15223,6 +15490,9 @@
"items": {
"$ref": "#/components/schemas/SimplifiedNotification"
}
+ },
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
}
},
"description": "Create Cloud Router"
@@ -15283,6 +15553,9 @@
"type": "integer",
"description": "Number of distinct ipv6 routes"
},
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
+ },
"changeLog": {
"$ref": "#/components/schemas/Changelog"
},
@@ -16270,20 +16543,15 @@
"type": "string",
"description": "Handy shortcut for operation name",
"enum": [
- "replace",
- "add",
- "remove"
+ "replace"
]
},
"path": {
"type": "string",
"description": "path inside document leading to updated parameter",
"enum": [
- "/ipv4",
"/name",
- "/advanceConfiguration/ntp",
- "/advanceConfiguration/ptp",
- "/package"
+ "/package/code"
]
},
"value": {
@@ -16339,6 +16607,130 @@
},
"description": "EPT service instance"
},
+ "TimeServicesSearchRequest": {
+ "type": "object",
+ "properties": {
+ "filter": {
+ "$ref": "#/components/schemas/TimeServiceFilters"
+ },
+ "pagination": {
+ "$ref": "#/components/schemas/PaginationRequest"
+ },
+ "sort": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TimeServiceSortCriteria"
+ }
+ }
+ },
+ "description": "Search requests containing criteria"
+ },
+ "TimeServiceFilters": {
+ "type": "object",
+ "properties": {
+ "and": {
+ "maxItems": 8,
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TimeServiceFilter"
+ }
+ }
+ }
+ },
+ "TimeServiceFilter": {
+ "type": "object",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TimeServiceSimpleExpression"
+ },
+ {
+ "$ref": "#/components/schemas/TimeServiceOrFilter"
+ }
+ ]
+ },
+ "TimeServiceSimpleExpression": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "type": "string",
+ "description": "Possible field names to use on filters:\n * `/project/projectId` - project id (mandatory)\n * `/name` - Precision Time Service name\n * `/uuid` - Precision Time Service uuid\n * `/type` - Precision Time Service protocol\n * `/state` - Precision Time Service status\n * `/account/accountNumber` - Precision Time Service account number\n * `/package/code` - Precision Time Service package\n * `/*` - all-category search\n",
+ "example": "/name"
+ },
+ "operator": {
+ "type": "string",
+ "description": "Possible operators to use on filters:\n * `=` - equal\n * `!=` - not equal\n * `[NOT] BETWEEN` - (not) between\n * `[NOT] LIKE` - (not) like\n * `[NOT] IN` - (not) in\n * `ILIKE` - case-insensitive like\n",
+ "example": "="
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "FabricPrecisionTimeService-1"
+ }
+ }
+ }
+ },
+ "TimeServiceOrFilter": {
+ "type": "object",
+ "properties": {
+ "or": {
+ "maxItems": 3,
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TimeServiceSimpleExpression"
+ }
+ }
+ }
+ },
+ "TimeServiceSortCriteria": {
+ "type": "object",
+ "properties": {
+ "direction": {
+ "$ref": "#/components/schemas/TimeServiceSortDirection"
+ },
+ "property": {
+ "$ref": "#/components/schemas/TimeServiceSortBy"
+ }
+ }
+ },
+ "TimeServiceSortDirection": {
+ "type": "string",
+ "description": "Sorting direction",
+ "default": "DESC",
+ "enum": [
+ "DESC",
+ "ASC"
+ ]
+ },
+ "TimeServiceSortBy": {
+ "type": "string",
+ "description": "Possible field names to use on sorting",
+ "default": "/changeLog/updatedDateTime",
+ "enum": [
+ "/name",
+ "/uuid",
+ "/state",
+ "/type",
+ "/package/code",
+ "/changeLog/createdDateTime",
+ "/changeLog/updatedDateTime"
+ ]
+ },
+ "ServiceSearchResponse": {
+ "type": "object",
+ "properties": {
+ "pagination": {
+ "$ref": "#/components/schemas/Pagination"
+ },
+ "data": {
+ "type": "array",
+ "description": "Data returned from the API call.",
+ "items": {
+ "$ref": "#/components/schemas/precisionTimeServiceResponse"
+ }
+ }
+ }
+ },
"precisionTimeServiceConnectionsResponse": {
"title": "precisionTimeServiceConnectionResponse",
"type": "object",
@@ -16454,6 +16846,152 @@
}
}
},
+ "SubscriptionId": {
+ "type": "string",
+ "description": "Subscription Id",
+ "format": "uuid",
+ "example": "557400f8-d360-11e9-bb65-2a2ae2dbcce4"
+ },
+ "SubscriptionResponse": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "format": "uri"
+ },
+ "uuid": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "status": {
+ "$ref": "#/components/schemas/SubscriptionStatus"
+ },
+ "marketplace": {
+ "type": "string",
+ "enum": [
+ "AWS",
+ "GCP",
+ "AZURE",
+ "REDHAT"
+ ]
+ },
+ "offerType": {
+ "type": "string",
+ "enum": [
+ "PUBLIC",
+ "PRIVATE_OFFER"
+ ]
+ },
+ "isAutoRenew": {
+ "type": "boolean",
+ "example": true
+ },
+ "offerId": {
+ "type": "string"
+ },
+ "trial": {
+ "$ref": "#/components/schemas/SubscriptionTrial"
+ },
+ "subscriptionKey": {
+ "type": "string"
+ },
+ "entitlements": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SubscriptionEntitlementResponse"
+ }
+ },
+ "changelog": {
+ "$ref": "#/components/schemas/Changelog"
+ }
+ },
+ "description": "Subscription",
+ "x-preview": false
+ },
+ "SubscriptionStatus": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "EXPIRED",
+ "CANCELLED",
+ "GRACE_PERIOD"
+ ]
+ },
+ "SubscriptionTrial": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "expiryDateTime": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "description": "Trial"
+ },
+ "SubscriptionEntitlementResponse": {
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "description": "Subscription Entitlement Id",
+ "format": "uuid"
+ },
+ "quantityEntitled": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "quantityConsumed": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "quantityAvailable": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "asset": {
+ "$ref": "#/components/schemas/SubscriptionAsset"
+ }
+ },
+ "description": "Subscription entitlement"
+ },
+ "SubscriptionAsset": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/components/schemas/SubscriptionAssetType"
+ },
+ "package": {
+ "$ref": "#/components/schemas/SubscriptionRouterPackageType"
+ },
+ "bandwidth": {
+ "type": "integer"
+ }
+ },
+ "description": "Asset information"
+ },
+ "SubscriptionAssetType": {
+ "type": "string",
+ "enum": [
+ "XF_ROUTER",
+ "IP_VC"
+ ]
+ },
+ "SubscriptionRouterPackageType": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Cloud Router package code",
+ "enum": [
+ "ADVANCED",
+ "STANDARD"
+ ]
+ }
+ },
+ "description": "Cloud Router Package Type"
+ },
"ConnectionType": {
"type": "string",
"description": "Connection type",
@@ -16603,6 +17141,32 @@
},
"description": "Additional information"
},
+ "marketplaceSubscription": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "Marketplace Subscription URI",
+ "format": "uri",
+ "readOnly": true,
+ "example": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "type": {
+ "type": "string",
+ "description": "Marketplace Subscription type",
+ "example": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "enum": [
+ "AWS_MARKETPLACE_SUBSCRIPTION"
+ ]
+ },
+ "uuid": {
+ "type": "string",
+ "description": "Equinix-assigned Marketplace Subscription identifier",
+ "example": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ }
+ },
+ "description": "Equinix Fabric Entity for Marketplace Subscription"
+ },
"ConnectionState": {
"type": "string",
"description": "Connection status",
@@ -16903,6 +17467,7 @@
"CONNECTION_UPDATE_REQUEST",
"MIGRATION_EVPL_VC",
"CONNECTION_PROVIDER_STATUS_REQUEST",
+ "CONNECTION_PROVIDER_BANDWIDTH_REQUEST",
"ACCEPT_HOSTED_CONNECTION",
"CANCEL_EVPL_VC_DRAFT_ORDERS"
]
@@ -16912,6 +17477,11 @@
"properties": {
"zSide": {
"$ref": "#/components/schemas/ConnectionSide"
+ },
+ "providerBandwidth": {
+ "type": "integer",
+ "description": "Authorization key bandwidth in Mbps",
+ "readOnly": true
}
},
"description": "Connection acceptance data"
@@ -16943,6 +17513,18 @@
"format": "int64",
"example": 3
},
+ "inboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 1000
+ },
+ "outboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 2000
+ },
"operation": {
"$ref": "#/components/schemas/BGPConnectionOperation"
}
@@ -16975,6 +17557,18 @@
"format": "int64",
"example": 3
},
+ "inboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 1000
+ },
+ "outboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 2000
+ },
"operation": {
"$ref": "#/components/schemas/BGPConnectionOperation"
}
@@ -17055,6 +17649,10 @@
"description": "BGP authorization key",
"example": "testAuthKey"
},
+ "asOverrideEnabled": {
+ "type": "boolean",
+ "description": "Enable AS number override"
+ },
"bfd": {
"$ref": "#/components/schemas/RoutingProtocolBFD"
},
@@ -17548,6 +18146,10 @@
"type": "string",
"description": "Order Identification"
},
+ "customerReferenceId": {
+ "type": "string",
+ "description": "Customer order reference Id"
+ },
"orderNumber": {
"type": "string",
"description": "Order Reference Number"
@@ -18687,6 +19289,89 @@
"code": "NTP_STANDARD"
}
},
+ "precisionTimeServiceResponse": {
+ "title": "precisionTimeServiceResponse",
+ "required": [
+ "href",
+ "ipv4",
+ "order",
+ "package",
+ "state",
+ "type",
+ "uuid"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "NTP",
+ "PTP"
+ ]
+ },
+ "href": {
+ "type": "string",
+ "format": "uri"
+ },
+ "uuid": {
+ "type": "string",
+ "description": "uuid of the ept service",
+ "format": "uuid"
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the ept service"
+ },
+ "description": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string",
+ "description": "indicate service state",
+ "enum": [
+ "PROVISIONED",
+ "PROVISIONING",
+ "PROVISIONING_FAILED",
+ "CONFIGURING",
+ "CANCELLED",
+ "DEPROVISIONING_FAILED",
+ "PENDING_CONFIGURATION",
+ "DEPROVISIONED",
+ "CONFIGURING_FAILED",
+ "DEPROVISIONING"
+ ]
+ },
+ "package": {
+ "$ref": "#/components/schemas/precisionTimePackageResponse"
+ },
+ "connections": {
+ "maxItems": 2,
+ "minItems": 1,
+ "uniqueItems": true,
+ "type": "array",
+ "description": "fabric l2 connections used for the ept service",
+ "items": {
+ "$ref": "#/components/schemas/fabricConnectionUuid"
+ }
+ },
+ "order": {
+ "$ref": "#/components/schemas/Order"
+ },
+ "ipv4": {
+ "$ref": "#/components/schemas/ipv4"
+ },
+ "advanceConfiguration": {
+ "$ref": "#/components/schemas/advanceConfiguration"
+ },
+ "project": {
+ "$ref": "#/components/schemas/Project"
+ },
+ "account": {
+ "$ref": "#/components/schemas/account"
+ }
+ },
+ "description": "EPT service instance"
+ },
"connectionLink": {
"type": "object",
"properties": {
@@ -19819,7 +20504,7 @@
]
},
"id": {
- "type": "string"
+ "type": "integer"
},
"password": {
"type": "string"
@@ -22740,6 +23425,50 @@
]
}
},
+ "Fcr2Sp-Aws-marketplaceSubscription": {
+ "value": {
+ "type": "IP_VC",
+ "name": "My-FCR-AWSConnection",
+ "bandwidth": 100,
+ "redundancy": {
+ "priority": "PRIMARY"
+ },
+ "aSide": {
+ "accessPoint": {
+ "type": "CLOUD_ROUTER",
+ "router": {
+ "uuid": "66a21614-1c4a-11ec-9621-0242ac130002"
+ }
+ }
+ },
+ "zSide": {
+ "accessPoint": {
+ "type": "SP",
+ "profile": {
+ "type": "L2_PROFILE",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "location": {
+ "metroCode": "SV"
+ },
+ "sellerRegion": "us-west-1",
+ "authenticationKey": "xx-xx-xx"
+ }
+ },
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "test@equinix.com",
+ "test1@equinix.com"
+ ]
+ }
+ ]
+ }
+ },
"Fcr2Metal-Network": {
"value": {
"type": "IP_VC",
@@ -24162,6 +24891,64 @@
}
}
},
+ "Fcr2Sp-marketplaceSubscription-Response": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1",
+ "type": "IP_VC",
+ "uuid": "0ed42ea7-2df8-470d-ad59-e432d768b4f1",
+ "name": "GP_FG2GCP_001",
+ "bandwidth": 50,
+ "redundancy": {
+ "group": "4f786b3f-27d4-48e0-8571-423d085826c1",
+ "priority": "PRIMARY"
+ },
+ "order": {
+ "billingTier": "Up to 50 MB"
+ },
+ "aSide": {
+ "accessPoint": {
+ "type": "CLOUD_ROUTER",
+ "router": {
+ "href": "https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0",
+ "uuid": "56d267f3-a566-47a8-8cf9-40e6cc925bf0"
+ }
+ }
+ },
+ "zSide": {
+ "accessPoint": {
+ "type": "SP",
+ "profile": {
+ "href": "https://api.equinix.com/fabric/v4/serviceProfiles/c7922adf-34b5-4d4e-a87c-cae8c899ef90",
+ "uuid": "c7922adf-34b5-4d4e-a87c-cae8c899ef90"
+ }
+ }
+ },
+ "marketplaceSubscription": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5",
+ "type": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "operation": {
+ "equinixStatus": "PROVISIONING",
+ "providerStatus": "PROVISIONING"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "test@equinix.com",
+ "test1@equinix.com"
+ ]
+ }
+ ],
+ "changeLog": {
+ "createdBy": "test",
+ "createdByFullName": "test",
+ "createdByEmail": "test@equinix.com",
+ "createdDateTime": "2022-05-12T17:53:45.401Z"
+ }
+ }
+ },
"AsideServiceToken2PortResponseWithDot1q": {
"value": {
"href": "http://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d",
@@ -27572,6 +28359,11 @@
"type": "CONNECTION_PROVIDER_STATUS_REQUEST"
}
},
+ "Connection_Provider_Bandwidth_Request": {
+ "value": {
+ "type": "CONNECTION_PROVIDER_BANDWIDTH_REQUEST"
+ }
+ },
"AcceptZSide_NetworkEdge_Request": {
"value": {
"type": "CONNECTION_CREATION_ACCEPTANCE",
@@ -27621,6 +28413,20 @@
}
}
},
+ "Connection_Provider_Bandwidth_Response": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/connections/9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81/actions/37c10edc-ba2e-4240-a850-8a48f9c47d00",
+ "type": "CONNECTION_PROVIDER_BANDWIDTH_REQUEST",
+ "uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",
+ "data": {
+ "providerBandwidth": 500
+ },
+ "changeLog": {
+ "createdDateTime": "2020-04-21T10:30:00Z",
+ "updatedDateTime": "2020-05-21T10:30:00Z"
+ }
+ }
+ },
"RoutingProtocolGetAll": {
"value": {
"pagination": {
@@ -27650,15 +28456,18 @@
},
"type": "BGP",
"bgpIpv4": {
- "customerPeerIp": "10.1.1.3",
+ "customerPeerIp": "192.168.100.2",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UNKNOWN"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
},
{
"href": "https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4",
@@ -27785,12 +28594,15 @@
"customerPeerIp": "10.1.1.3",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UNKNOWN"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
}
},
"RoutingProtocolCreateDirectResponse": {
@@ -27842,15 +28654,20 @@
"bgpIpv4": {
"customerPeerIp": "10.1.1.2",
"equinixPeerIp": "192.168.100.1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"bgpIpv6": {
- "customerPeerIp": "2001:db8:c59b::1",
+ "customerPeerIp": "2001:db8:c59b::2",
"equinixPeerIp": "2001:db8:c59b::1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"customerAsn": 0,
"equinixAsn": 0,
+ "asOverrideEnabled": true,
"bgpAuthKey": "string",
"bfd": {
"enabled": true,
@@ -27866,18 +28683,23 @@
{
"type": "BGP",
"bgpIpv4": {
- "customerPeerIp": "10.1.1.2",
+ "customerPeerIp": "192.168.100.2",
"equinixPeerIp": "192.168.100.1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"bgpIpv6": {
- "customerPeerIp": "2001:db8:c59b::1",
+ "customerPeerIp": "2001:db8:c59b::2",
"equinixPeerIp": "2001:db8:c59b::1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"customerAsn": 0,
"equinixAsn": 0,
"bgpAuthKey": "string",
+ "asOverrideEnabled": true,
"bfd": {
"enabled": true,
"interval": 100
@@ -27890,7 +28712,7 @@
"equinixIfaceIp": "192.168.100.1/30"
},
"directIpv6": {
- "equinixIfaceIp": "2001:7a9::34f4:0:f3dd:1/126"
+ "equinixIfaceIp": "2001:db8:c59b::1/125"
}
}
]
@@ -27995,18 +28817,21 @@
"value": {
"type": "BGP",
"bgpIpv4": {
- "customerPeerIp": "10.1.1.2",
+ "customerPeerIp": "192.168.100.2",
"equinixPeerIp": "192.168.100.1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"bgpIpv6": {
- "customerPeerIp": "2001:db8:c59b::1",
+ "customerPeerIp": "2001:db8:c59b::2",
"equinixPeerIp": "2001:db8:c59b::1",
"outboundASPrependCount": 3
},
"customerAsn": 0,
"equinixAsn": 0,
"bgpAuthKey": "string",
+ "asOverrideEnabled": true,
"bfd": {
"enabled": true,
"interval": 100
@@ -28038,12 +28863,15 @@
"customerPeerIp": "10.1.1.3",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UNKNOWN"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
}
},
"RoutingProtocolReplaceDirectResponse": {
@@ -28127,13 +28955,16 @@
"customerPeerIp": "10.1.1.3",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UP",
"opStatusChangedAt": "2021-10-30T07:21:39Z"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
}
},
"PatchRoutingProtocolEnableIPv4": {
@@ -33338,6 +34169,9 @@
},
"changeLog": {
"createdDateTime": "2020-06-14T17:21:25.586Z"
+ },
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
}
}
]
@@ -33361,6 +34195,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33420,6 +34257,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33479,6 +34319,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33637,6 +34480,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33692,6 +34538,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33745,6 +34594,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33886,6 +34738,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33943,8 +34798,7 @@
"packageType": "STANDARD"
},
"project": {
- "href": "https://api.equinix.com/resourceManager/v1/projects/567",
- "projectId": 567
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
},
"account": {
"accountNumber": 1000
@@ -34354,6 +35208,9 @@
"sharedPortType": false,
"packageType": "STANDARD"
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"notifications": [
{
"type": "TECHNICAL",
@@ -34396,6 +35253,9 @@
"priority": "SECONDARY"
},
"lagEnabled": false,
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"settings": {
"sharedPortType": false,
"packageType": "STANDARD"
@@ -34451,7 +35311,15 @@
"email": "john.doe@company.com"
}
}
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
},
{
"type": "XF_PHYSICAL_PORT",
@@ -34483,7 +35351,15 @@
"email": "john.doe@company.com"
}
}
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
}
]
}
@@ -34619,7 +35495,15 @@
},
"order": {
"orderNumber": "1-210210611904"
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
},
{
"type": "XF_PHYSICAL_PORT",
@@ -34634,7 +35518,15 @@
},
"order": {
"orderNumber": "1-210210611904"
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
}
]
}
@@ -34734,6 +35626,9 @@
},
"changeLog": {
"createdDateTime": "2018-06-14T17:21:25.587Z"
+ },
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
}
}
},
@@ -36107,6 +37002,32 @@
}
}
},
+ "CreateWithMarketplaceSubscription": {
+ "value": {
+ "type": "XF_ROUTER",
+ "name": "My-Cloud-Router",
+ "location": {
+ "metroCode": "SV"
+ },
+ "package": {
+ "code": "ADVANCED"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "test@test.com"
+ ]
+ }
+ ],
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "marketplaceSubscription": {
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ }
+ }
+ },
"CloudRouterPostResponseExample": {
"value": {
"href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
@@ -36149,6 +37070,47 @@
}
}
},
+ "CloudRouterPostResponseMarketplaceExample": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "uuid": "201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "state": "PROVISIONED",
+ "type": "XF_ROUTER",
+ "name": "My-Cloud-Router",
+ "location": {
+ "metroCode": "HH"
+ },
+ "equinixAsn": 30000,
+ "package": {
+ "code": "STANDARD"
+ },
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "abc@abc.com"
+ ]
+ }
+ ],
+ "bgpIpv4RoutesCount": 0,
+ "bgpIpv6RoutesCount": 0,
+ "connectionsCount": 0,
+ "marketplaceSubscription": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5",
+ "type": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "changeLog": {
+ "createdBy": "abc@xyz.com",
+ "createdByFullName": "abc",
+ "createdByEmail": "abc@xyz.com",
+ "createdDateTime": "2021-09-24T06:59:46Z"
+ }
+ }
+ },
"400_invalid_package": {
"value": [
{
@@ -36211,6 +37173,53 @@
}
}
},
+ "CloudRouterResponseExampleMarketplace": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "uuid": "201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "state": "PROVISIONED",
+ "type": "XF_ROUTER",
+ "name": "My-Cloud-Router",
+ "location": {
+ "metroCode": "HH"
+ },
+ "equinixAsn": 30000,
+ "package": {
+ "code": "STANDARD"
+ },
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "abc@abc.com"
+ ]
+ }
+ ],
+ "bgpIpv4RoutesCount": 4,
+ "bgpIpv6RoutesCount": 4,
+ "distinctIpv4PrefixesCount": 2,
+ "distinctIpv6PrefixesCount": 2,
+ "connectionsCount": 0,
+ "marketplaceSubscription": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5",
+ "type": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "changeLog": {
+ "createdBy": "abc@xyz.com",
+ "createdByFullName": "abc",
+ "createdByEmail": "abc@xyz.com",
+ "createdDateTime": "2021-09-24T06:59:46Z",
+ "updatedBy": "abc@xyz.com",
+ "updatedByFullName": "abc",
+ "updatedByEmail": "abc@xyz.com",
+ "updatedDateTime": "2021-09-24T06:59:46Z"
+ }
+ }
+ },
"400_invalid_state": {
"value": [
{
@@ -38516,7 +39525,7 @@
}
]
},
- "edit": {
+ "editName": {
"value": [
{
"op": "replace",
@@ -38525,7 +39534,16 @@
}
]
},
- "ntpSingleStandard": {
+ "editPackageCode": {
+ "value": [
+ {
+ "op": "replace",
+ "path": "/package/code",
+ "value": "NTP_ENTERPRISE"
+ }
+ ]
+ },
+ "ntpStandard": {
"value": {
"name": "EPT-Single-Service",
"type": "NTP",
@@ -38545,7 +39563,7 @@
}
}
},
- "ptpSingleStandard": {
+ "ptpStandard": {
"value": {
"name": "EPT-Single-Service",
"type": "PTP",
@@ -38565,7 +39583,7 @@
}
}
},
- "ptpSingleEnterpriseWithAdvanceConfiguration": {
+ "ptpEnterpriseWithAdvanceConfiguration": {
"value": {
"name": "EPT-Single-Service",
"type": "PTP",
@@ -38575,7 +39593,7 @@
}
],
"package": {
- "code": "PTP_STANDARD"
+ "code": "PTP_ENTERPRISE"
},
"ipv4": {
"primary": "192.168.0.2",
@@ -38596,6 +39614,192 @@
}
}
},
+ "ntpEnterpriseWithAdvanceConfiguration": {
+ "value": {
+ "name": "EPT-Single-Service",
+ "type": "NTP",
+ "connections": [
+ {
+ "uuid": "06dbb0e3-e55d-4090-8aff-fc5654abaad0"
+ }
+ ],
+ "package": {
+ "code": "NTP_ENTERPRISE"
+ },
+ "ipv4": {
+ "primary": "192.168.0.2",
+ "secondary": "192.168.0.3",
+ "networkMask": "255.255.255.255",
+ "defaultGateway": "192.167.0.1"
+ },
+ "advanceConfiguration": {
+ "ntp": [
+ {
+ "type": "ASCII",
+ "id": 12345,
+ "password": "MTIzNDU2Nzg5MA"
+ }
+ ]
+ }
+ }
+ },
+ "SearchTimeServicesFilterByStatus": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "property": "/state",
+ "operator": "=",
+ "values": [
+ "PROVISIONED"
+ ]
+ },
+ {
+ "property": "/project/projectId",
+ "operator": "=",
+ "values": [
+ "995072000433550"
+ ]
+ }
+ ]
+ },
+ "pagination": {
+ "offset": 0,
+ "limit": 20
+ },
+ "sort": [
+ {
+ "direction": "DESC",
+ "property": "/changeLog/createdDateTime"
+ }
+ ]
+ }
+ },
+ "SearchTimeServicesByNameAndProtocol": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "property": "/name",
+ "operator": "=",
+ "values": [
+ "test-time-service"
+ ]
+ },
+ {
+ "property": "/type",
+ "operator": "=",
+ "values": [
+ "NTP"
+ ]
+ },
+ {
+ "property": "/project/projectId",
+ "operator": "=",
+ "values": [
+ "995072000433550"
+ ]
+ }
+ ]
+ },
+ "pagination": {
+ "offset": 0,
+ "limit": 20
+ },
+ "sort": [
+ {
+ "direction": "DESC",
+ "property": "/changeLog/createdDateTime"
+ }
+ ]
+ }
+ },
+ "SearchTimeServicesFilterOrAnd": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "property": "/uuid",
+ "operator": "LIKE",
+ "values": [
+ "676a0c3f-a785-4294-87bc-25fe9318a620%"
+ ]
+ },
+ {
+ "property": "/name",
+ "operator": "LIKE",
+ "values": [
+ "test-time-service"
+ ]
+ }
+ ]
+ },
+ {
+ "property": "/project/projectId",
+ "operator": "=",
+ "values": [
+ "995072000433550"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "serviceSearchResponse": {
+ "value": {
+ "pagination": {
+ "offset": 20,
+ "limit": 20,
+ "total": 100,
+ "next": "/search?offset=40&limit=20",
+ "previous": "/search?offset=0&limit=20"
+ },
+ "data": [
+ {
+ "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "uuid": "a8ba52de-faae-43b5-b0b1-6904d37ee011",
+ "name": "EPT-NTP-STD-Service",
+ "type": "NTP",
+ "state": "PROVISIONING",
+ "connections": [
+ {
+ "href": "https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011",
+ "uuid": "06dbb0e3-e55d-4090-8aff-fc5654abaad0"
+ }
+ ],
+ "package": {
+ "href": "https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD",
+ "code": "NTP_STANDARD"
+ },
+ "ipv4": {
+ "primary": "192.168.0.2",
+ "secondary": "192.168.0.3",
+ "networkMask": "255.255.255.255",
+ "defaultGateway": "192.167.0.1"
+ },
+ "account": {
+ "accountNumber": 123456
+ }
+ }
+ ]
+ }
+ },
+ "service_400_invalid_sorting": {
+ "value": [
+ {
+ "errorCode": "EQ-3040039",
+ "errorMessage": "Invalid value for sorting direction.",
+ "correlationId": "c82ff3bc-de07-47e5-b3ec-53a009d01515",
+ "additionalInfo": [
+ {
+ "reason": "Only accept DESC and ASC for sorting direction."
+ }
+ ]
+ }
+ ]
+ },
"serviceConnectionsResponse": {
"value": {
"pagination": {
@@ -38715,7 +39919,157 @@
}
}
},
- "get-all-example": {
+ "subscription-response": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/c5557b51-7938-4f7d-afaa-41b930903a5e",
+ "uuid": "c5557b51-7938-4f7d-afaa-41b930903a5e",
+ "state": "ACTIVE",
+ "marketplace": "AWS",
+ "offerType": "PRIVATE_OFFER",
+ "isAutoRenew": false,
+ "offerId": "offer id",
+ "trial": {
+ "enabled": true,
+ "expiryDateTime": "2020-05-21T10:30:00Z"
+ },
+ "entitlements": [
+ {
+ "uuid": "a15b6b20-b765-4bf7-a661-a3e9372d5435",
+ "name": "FCR Standard",
+ "quantityEntitled": 1,
+ "quantityConsumed": 0,
+ "asset": {
+ "type": "XF_ROUTER",
+ "package": {
+ "code": "STANDARD"
+ }
+ }
+ },
+ {
+ "uuid": "2e3a9041-19ce-4c80-add3-3e3a069fc5e9",
+ "name": "Connection 500 Mbps",
+ "quantityEntitled": 1,
+ "quantityConsumed": 0,
+ "quantityAvailable": 1,
+ "asset": {
+ "type": "IP_VC",
+ "bandwidth": 500
+ }
+ }
+ ],
+ "changeLog": {
+ "createdBy": "adminuser",
+ "createdDateTime": "2020-05-21T10:30:00Z",
+ "updatedBy": "adminuser",
+ "updatedDateTime": "2020-05-21T10:30:00Z"
+ }
+ }
+ },
+ "StreamResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/streams/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk1",
+ "description": "subscription 1",
+ "enabled": true,
+ "state": "PROVISIONED",
+ "project": {
+ "projectId": 123456
+ },
+ "changelog": {
+ "createdDateTime": "2024-05-06T16:21:18.545214Z"
+ }
+ }
+ },
+ "StreamPostRequestExample": {
+ "value": {
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk1",
+ "description": "subscription 1"
+ }
+ },
+ "StreamPutRequestExample": {
+ "value": {
+ "name": "splunk1",
+ "description": "subscription 1",
+ "stream": {
+ "uuid": "36276e58-b5a1-4864-ab5e-be10dff9eac1"
+ }
+ }
+ },
+ "StreamAssetSearchRequestExample": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "property": "/streamUuid",
+ "operator": "=",
+ "values": [
+ "e684aa26-8276-48b7-bb42-a6d9def0a419"
+ ]
+ }
+ ]
+ },
+ "pagination": {
+ "offset": 0,
+ "limit": 20
+ },
+ "sort": [
+ {
+ "direction": "DESC",
+ "property": "/changeLog/createdDateTime"
+ }
+ ]
+ }
+ },
+ "stream-asset-get-all-example": {
+ "value": {
+ "pagination": {
+ "offset": 0,
+ "limit": 20,
+ "total": 1
+ },
+ "data": [
+ {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/ports/e684aa26-8276-48b7-bb42-a6d9def0a419",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ ]
+ }
+ },
+ "StreamRouterAssetResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/routers/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ },
+ "StreamAssetPutRequestExample": {
+ "value": {
+ "metricsEnabled": true
+ }
+ },
+ "StreamConnectionAssetResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/connections/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ },
+ "StreamPortAssetResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/ports/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ },
+ "stream-subscription-get-all-example": {
"value": {
"pagination": {
"offset": 0,
@@ -38725,11 +40079,12 @@
"data": [
{
"uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
- "href": "https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
- "type": "CLOUDEVENT_SUBSCRIPTION",
- "name": "slack1",
+ "href": "https://api.equinix.com/fabric/v4/streamSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk",
"description": "subscription 1",
"enabled": true,
+ "state": "PROVISIONED",
"filters": {
"and": [
{
@@ -38752,10 +40107,10 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
},
"changelog": {
"createdDateTime": "2024-05-06T16:21:18.545214Z"
@@ -38764,27 +40119,25 @@
]
}
},
- "CloudeventSubscriptionPostRequestExample": {
+ "StreamSubscriptionPostRequestExample": {
"value": {
- "type": "CLOUDEVENT_SUBSCRIPTION",
- "name": "slack1",
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk1",
"description": "subscription 1",
"enabled": true,
+ "stream": {
+ "uuid": "36276e58-b5a1-4864-ab5e-be10dff9eac1"
+ },
+ "project": {
+ "projectId": 123456
+ },
"filters": {
"and": [
{
- "path": "subject",
+ "path": "type",
"operator": "LIKE",
"values": [
- "%36276e58-b5a1-4864-ab5e-be10dff9eac1%"
- ],
- "or": []
- },
- {
- "path": "equinixproject",
- "operator": "IN",
- "values": [
- "197607000886247"
+ "%com.equinix.event.fabric.connection%"
],
"or": []
}
@@ -38792,36 +40145,37 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "credential": {
+ "type": "ACCESS_TOKEN",
+ "accessToken": "my-access-token"
+ },
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
}
}
},
- "CloudeventSubscriptionResponseExample": {
+ "StreamSubscriptionResponseExample": {
"value": {
"uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
- "href": "https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
- "type": "CLOUDEVENT_SUBSCRIPTION",
- "name": "slack1",
- "description": "subscription 1",
- "enabled": true,
+ "href": "https://api.equinix.com/fabric/v4/streamSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "type": "TELEMETRY_STREAM",
+ "name": "stream 1",
+ "description": "stream dec 1",
+ "project": {
+ "projectId": 1234546
+ },
+ "state": "PROVISIONED",
+ "assetCount": 1,
+ "streamSubscriptionCount": 2,
"filters": {
"and": [
{
- "path": "subject",
+ "path": "type",
"operator": "LIKE",
"values": [
- "%36276e58-b5a1-4864-ab5e-be10dff9eac1%"
- ],
- "or": []
- },
- {
- "path": "equinixproject",
- "operator": "IN",
- "values": [
- "197607000886247"
+ "%com.equinix.event.fabric.connection%"
],
"or": []
}
@@ -38829,36 +40183,35 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "credential": {
+ "type": "ACCESS_TOKEN",
+ "accessToken": "my-access-token"
+ },
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
},
"changelog": {
"createdDateTime": "2024-05-06T16:21:18.545214Z"
}
}
},
- "CloudeventSubscriptionPutRequestExample": {
+ "StreamSubscriptionPutRequestExample": {
"value": {
- "name": "slack1",
+ "name": "splunk1",
"description": "subscription 1",
"enabled": true,
+ "stream": {
+ "uuid": "36276e58-b5a1-4864-ab5e-be10dff9eac1"
+ },
"filters": {
"and": [
{
- "path": "subject",
+ "path": "type",
"operator": "LIKE",
"values": [
- "%36276e58-b5a1-4864-ab5e-be10dff9eac1%"
- ],
- "or": []
- },
- {
- "path": "equinixproject",
- "operator": "IN",
- "values": [
- "197607000886247"
+ "%equinix.event.fabric.connection%"
],
"or": []
}
@@ -38866,10 +40219,14 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "credential": {
+ "type": "ACCESS_TOKEN",
+ "accessToken": "my-access-token"
+ },
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
}
}
}
diff --git a/spec/oas3.fabric.patched.json b/spec/oas3.fabric.patched.json
index e6697b2a..36eeef94 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.14"
+ "version": "4.15"
},
"externalDocs": {
"description": "Find more information on Equinix Developer Portal",
@@ -233,6 +233,9 @@
"Fcr2IpWan": {
"$ref": "#/components/examples/Fcr2IpWan"
},
+ "Fcr2Sp-Aws-Marketplace-subscription": {
+ "$ref": "#/components/examples/Fcr2Sp-Aws-marketplaceSubscription"
+ },
"Fcr2MetalNetwork": {
"$ref": "#/components/examples/Fcr2Metal-Network"
},
@@ -340,6 +343,9 @@
"Fcr2IpWan": {
"$ref": "#/components/examples/Fcr2IpWan-response"
},
+ "Fcr2Sp-Marketplace-subscription": {
+ "$ref": "#/components/examples/Fcr2Sp-marketplaceSubscription-Response"
+ },
"ServiceToken2PortResponseDot1Q": {
"$ref": "#/components/examples/AsideServiceToken2PortResponseWithDot1q"
},
@@ -846,6 +852,9 @@
"BGPSync": {
"$ref": "#/components/examples/Connection_Provider_Status_Request"
},
+ "GetProviderBandwidth": {
+ "$ref": "#/components/examples/Connection_Provider_Bandwidth_Request"
+ },
"AcceptZSide-NetworkEdge": {
"$ref": "#/components/examples/AcceptZSide_NetworkEdge_Request"
}
@@ -865,6 +874,9 @@
"examples": {
"connectionActionExample": {
"$ref": "#/components/examples/ConnectionActionResponse"
+ },
+ "GetProviderBandwidth": {
+ "$ref": "#/components/examples/Connection_Provider_Bandwidth_Response"
}
}
}
@@ -8747,6 +8759,9 @@
},
"CreateProPackage": {
"$ref": "#/components/examples/CreateStandardPackage"
+ },
+ "CreateWithMarketplaceSubscription": {
+ "$ref": "#/components/examples/CreateWithMarketplaceSubscription"
}
}
}
@@ -8764,6 +8779,9 @@
"examples": {
"cloudRouterResponse": {
"$ref": "#/components/examples/CloudRouterPostResponseExample"
+ },
+ "cloudRouterResponseForMarketplaceSubscription": {
+ "$ref": "#/components/examples/CloudRouterPostResponseMarketplaceExample"
}
}
}
@@ -8877,6 +8895,9 @@
"examples": {
"cloudRouterResponse": {
"$ref": "#/components/examples/CloudRouterResponseExample"
+ },
+ "cloudRouterResponseMarketplace": {
+ "$ref": "#/components/examples/CloudRouterResponseExampleMarketplace"
}
}
}
@@ -11385,7 +11406,10 @@
},
"examples": {
"editName": {
- "$ref": "#/components/examples/edit"
+ "$ref": "#/components/examples/editName"
+ },
+ "editPackageCode": {
+ "$ref": "#/components/examples/editPackageCode"
}
}
}
@@ -11631,14 +11655,17 @@
"$ref": "#/components/schemas/precisionTimeServiceRequest"
},
"examples": {
- "ntpSingleStandard": {
- "$ref": "#/components/examples/ntpSingleStandard"
+ "ntpStandard": {
+ "$ref": "#/components/examples/ntpStandard"
+ },
+ "ptpStandard": {
+ "$ref": "#/components/examples/ptpStandard"
},
- "ptpSingleStandard": {
- "$ref": "#/components/examples/ptpSingleStandard"
+ "ptpEnterpriseWithAdvanceConfiguration": {
+ "$ref": "#/components/examples/ptpEnterpriseWithAdvanceConfiguration"
},
- "ptpSingleEnterpriseWithAdvanceConfiguration": {
- "$ref": "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration"
+ "ntpEnterpriseWithAdvanceConfiguration": {
+ "$ref": "#/components/examples/ntpEnterpriseWithAdvanceConfiguration"
}
}
}
@@ -11868,6 +11895,130 @@
}
}
},
+ "/fabric/v4/timeServices/search": {
+ "post": {
+ "tags": [
+ "Precision Time"
+ ],
+ "summary": "Search Time Services",
+ "description": "The API provides capability to get list of user's Time Services using search criteria, including optional filtering, pagination and sorting",
+ "operationId": "searchTimeServices",
+ "parameters": [],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TimeServicesSearchRequest"
+ },
+ "examples": {
+ "SearchFilterByStatus": {
+ "$ref": "#/components/examples/SearchTimeServicesFilterByStatus"
+ },
+ "SearchFilterByNameAndProtocol": {
+ "$ref": "#/components/examples/SearchTimeServicesByNameAndProtocol"
+ },
+ "SearchFilterOrAnd": {
+ "$ref": "#/components/examples/SearchTimeServicesFilterOrAnd"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ServiceSearchResponse"
+ },
+ "examples": {
+ "Example": {
+ "$ref": "#/components/examples/serviceSearchResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/service_400_invalid_sorting"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/401"
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/403"
+ }
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "Unsupported Media Type",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/415"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorList"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/500"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"/fabric/v4/timeServices/{serviceId}/connections": {
"get": {
"tags": [
@@ -12097,6 +12248,105 @@
}
}
}
+ },
+ "/fabric/v4/marketplaceSubscriptions/{subscriptionId}": {
+ "get": {
+ "tags": [
+ "Marketplace Subscriptions"
+ ],
+ "summary": "Get Subscription",
+ "description": "The API provides capability to get subscription",
+ "operationId": "getSubscriptionById",
+ "parameters": [
+ {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription UUID",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/SubscriptionId"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SubscriptionResponse"
+ },
+ "examples": {
+ "example": {
+ "$ref": "#/components/examples/subscription-response"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-preview": false
+ }
}
},
"components": {
@@ -12156,6 +12406,9 @@
"items": {
"$ref": "#/components/schemas/ConnectionSideAdditionalInfo"
}
+ },
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
}
},
"description": "Create connection post request"
@@ -12241,6 +12494,9 @@
"zSide": {
"$ref": "#/components/schemas/ConnectionSide"
},
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
+ },
"additionalInfo": {
"type": "array",
"description": "Connection additional information",
@@ -12414,6 +12670,10 @@
"type": "string",
"description": "BGP authorization key"
},
+ "asOverrideEnabled": {
+ "type": "boolean",
+ "description": "Enable AS number override"
+ },
"bfd": {
"$ref": "#/components/schemas/RoutingProtocolBFD"
}
@@ -14510,6 +14770,13 @@
"demarcationPoint": {
"$ref": "#/components/schemas/PortDemarcationPoint"
},
+ "notifications": {
+ "type": "array",
+ "description": "Notification preferences",
+ "items": {
+ "$ref": "#/components/schemas/PortNotification"
+ }
+ },
"additionalInfo": {
"type": "array",
"description": "Physical Port additional information",
@@ -15223,6 +15490,9 @@
"items": {
"$ref": "#/components/schemas/SimplifiedNotification"
}
+ },
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
}
},
"description": "Create Cloud Router"
@@ -15283,6 +15553,9 @@
"type": "integer",
"description": "Number of distinct ipv6 routes"
},
+ "marketplaceSubscription": {
+ "$ref": "#/components/schemas/marketplaceSubscription"
+ },
"changeLog": {
"$ref": "#/components/schemas/Changelog"
},
@@ -16270,20 +16543,15 @@
"type": "string",
"description": "Handy shortcut for operation name",
"enum": [
- "replace",
- "add",
- "remove"
+ "replace"
]
},
"path": {
"type": "string",
"description": "path inside document leading to updated parameter",
"enum": [
- "/ipv4",
"/name",
- "/advanceConfiguration/ntp",
- "/advanceConfiguration/ptp",
- "/package"
+ "/package/code"
]
},
"value": {
@@ -16339,6 +16607,130 @@
},
"description": "EPT service instance"
},
+ "TimeServicesSearchRequest": {
+ "type": "object",
+ "properties": {
+ "filter": {
+ "$ref": "#/components/schemas/TimeServiceFilters"
+ },
+ "pagination": {
+ "$ref": "#/components/schemas/PaginationRequest"
+ },
+ "sort": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TimeServiceSortCriteria"
+ }
+ }
+ },
+ "description": "Search requests containing criteria"
+ },
+ "TimeServiceFilters": {
+ "type": "object",
+ "properties": {
+ "and": {
+ "maxItems": 8,
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TimeServiceFilter"
+ }
+ }
+ }
+ },
+ "TimeServiceFilter": {
+ "type": "object",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TimeServiceSimpleExpression"
+ },
+ {
+ "$ref": "#/components/schemas/TimeServiceOrFilter"
+ }
+ ]
+ },
+ "TimeServiceSimpleExpression": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "type": "string",
+ "description": "Possible field names to use on filters:\n * `/project/projectId` - project id (mandatory)\n * `/name` - Precision Time Service name\n * `/uuid` - Precision Time Service uuid\n * `/type` - Precision Time Service protocol\n * `/state` - Precision Time Service status\n * `/account/accountNumber` - Precision Time Service account number\n * `/package/code` - Precision Time Service package\n * `/*` - all-category search\n",
+ "example": "/name"
+ },
+ "operator": {
+ "type": "string",
+ "description": "Possible operators to use on filters:\n * `=` - equal\n * `!=` - not equal\n * `[NOT] BETWEEN` - (not) between\n * `[NOT] LIKE` - (not) like\n * `[NOT] IN` - (not) in\n * `ILIKE` - case-insensitive like\n",
+ "example": "="
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "FabricPrecisionTimeService-1"
+ }
+ }
+ }
+ },
+ "TimeServiceOrFilter": {
+ "type": "object",
+ "properties": {
+ "or": {
+ "maxItems": 3,
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TimeServiceSimpleExpression"
+ }
+ }
+ }
+ },
+ "TimeServiceSortCriteria": {
+ "type": "object",
+ "properties": {
+ "direction": {
+ "$ref": "#/components/schemas/TimeServiceSortDirection"
+ },
+ "property": {
+ "$ref": "#/components/schemas/TimeServiceSortBy"
+ }
+ }
+ },
+ "TimeServiceSortDirection": {
+ "type": "string",
+ "description": "Sorting direction",
+ "default": "DESC",
+ "enum": [
+ "DESC",
+ "ASC"
+ ]
+ },
+ "TimeServiceSortBy": {
+ "type": "string",
+ "description": "Possible field names to use on sorting",
+ "default": "/changeLog/updatedDateTime",
+ "enum": [
+ "/name",
+ "/uuid",
+ "/state",
+ "/type",
+ "/package/code",
+ "/changeLog/createdDateTime",
+ "/changeLog/updatedDateTime"
+ ]
+ },
+ "ServiceSearchResponse": {
+ "type": "object",
+ "properties": {
+ "pagination": {
+ "$ref": "#/components/schemas/Pagination"
+ },
+ "data": {
+ "type": "array",
+ "description": "Data returned from the API call.",
+ "items": {
+ "$ref": "#/components/schemas/precisionTimeServiceResponse"
+ }
+ }
+ }
+ },
"precisionTimeServiceConnectionsResponse": {
"title": "precisionTimeServiceConnectionResponse",
"type": "object",
@@ -16454,6 +16846,152 @@
}
}
},
+ "SubscriptionId": {
+ "type": "string",
+ "description": "Subscription Id",
+ "format": "uuid",
+ "example": "557400f8-d360-11e9-bb65-2a2ae2dbcce4"
+ },
+ "SubscriptionResponse": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "format": "uri"
+ },
+ "uuid": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "status": {
+ "$ref": "#/components/schemas/SubscriptionStatus"
+ },
+ "marketplace": {
+ "type": "string",
+ "enum": [
+ "AWS",
+ "GCP",
+ "AZURE",
+ "REDHAT"
+ ]
+ },
+ "offerType": {
+ "type": "string",
+ "enum": [
+ "PUBLIC",
+ "PRIVATE_OFFER"
+ ]
+ },
+ "isAutoRenew": {
+ "type": "boolean",
+ "example": true
+ },
+ "offerId": {
+ "type": "string"
+ },
+ "trial": {
+ "$ref": "#/components/schemas/SubscriptionTrial"
+ },
+ "subscriptionKey": {
+ "type": "string"
+ },
+ "entitlements": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SubscriptionEntitlementResponse"
+ }
+ },
+ "changelog": {
+ "$ref": "#/components/schemas/Changelog"
+ }
+ },
+ "description": "Subscription",
+ "x-preview": false
+ },
+ "SubscriptionStatus": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "EXPIRED",
+ "CANCELLED",
+ "GRACE_PERIOD"
+ ]
+ },
+ "SubscriptionTrial": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "expiryDateTime": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "description": "Trial"
+ },
+ "SubscriptionEntitlementResponse": {
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "description": "Subscription Entitlement Id",
+ "format": "uuid"
+ },
+ "quantityEntitled": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "quantityConsumed": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "quantityAvailable": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "asset": {
+ "$ref": "#/components/schemas/SubscriptionAsset"
+ }
+ },
+ "description": "Subscription entitlement"
+ },
+ "SubscriptionAsset": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/components/schemas/SubscriptionAssetType"
+ },
+ "package": {
+ "$ref": "#/components/schemas/SubscriptionRouterPackageType"
+ },
+ "bandwidth": {
+ "type": "integer"
+ }
+ },
+ "description": "Asset information"
+ },
+ "SubscriptionAssetType": {
+ "type": "string",
+ "enum": [
+ "XF_ROUTER",
+ "IP_VC"
+ ]
+ },
+ "SubscriptionRouterPackageType": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Cloud Router package code",
+ "enum": [
+ "ADVANCED",
+ "STANDARD"
+ ]
+ }
+ },
+ "description": "Cloud Router Package Type"
+ },
"ConnectionType": {
"type": "string",
"description": "Connection type",
@@ -16603,6 +17141,32 @@
},
"description": "Additional information"
},
+ "marketplaceSubscription": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "Marketplace Subscription URI",
+ "format": "uri",
+ "readOnly": true,
+ "example": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "type": {
+ "type": "string",
+ "description": "Marketplace Subscription type",
+ "example": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "enum": [
+ "AWS_MARKETPLACE_SUBSCRIPTION"
+ ]
+ },
+ "uuid": {
+ "type": "string",
+ "description": "Equinix-assigned Marketplace Subscription identifier",
+ "example": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ }
+ },
+ "description": "Equinix Fabric Entity for Marketplace Subscription"
+ },
"ConnectionState": {
"type": "string",
"description": "Connection status",
@@ -16903,6 +17467,7 @@
"CONNECTION_UPDATE_REQUEST",
"MIGRATION_EVPL_VC",
"CONNECTION_PROVIDER_STATUS_REQUEST",
+ "CONNECTION_PROVIDER_BANDWIDTH_REQUEST",
"ACCEPT_HOSTED_CONNECTION",
"CANCEL_EVPL_VC_DRAFT_ORDERS"
]
@@ -16912,6 +17477,11 @@
"properties": {
"zSide": {
"$ref": "#/components/schemas/ConnectionSide"
+ },
+ "providerBandwidth": {
+ "type": "integer",
+ "description": "Authorization key bandwidth in Mbps",
+ "readOnly": true
}
},
"description": "Connection acceptance data"
@@ -16943,6 +17513,18 @@
"format": "int64",
"example": 3
},
+ "inboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 1000
+ },
+ "outboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 2000
+ },
"operation": {
"$ref": "#/components/schemas/BGPConnectionOperation"
}
@@ -16975,6 +17557,18 @@
"format": "int64",
"example": 3
},
+ "inboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 1000
+ },
+ "outboundMED": {
+ "type": "integer",
+ "description": "inbound Multi Exit Discriminator attribute",
+ "format": "int64",
+ "example": 2000
+ },
"operation": {
"$ref": "#/components/schemas/BGPConnectionOperation"
}
@@ -17055,6 +17649,10 @@
"description": "BGP authorization key",
"example": "testAuthKey"
},
+ "asOverrideEnabled": {
+ "type": "boolean",
+ "description": "Enable AS number override"
+ },
"bfd": {
"$ref": "#/components/schemas/RoutingProtocolBFD"
},
@@ -17548,6 +18146,10 @@
"type": "string",
"description": "Order Identification"
},
+ "customerReferenceId": {
+ "type": "string",
+ "description": "Customer order reference Id"
+ },
"orderNumber": {
"type": "string",
"description": "Order Reference Number"
@@ -18687,6 +19289,89 @@
"code": "NTP_STANDARD"
}
},
+ "precisionTimeServiceResponse": {
+ "title": "precisionTimeServiceResponse",
+ "required": [
+ "href",
+ "ipv4",
+ "order",
+ "package",
+ "state",
+ "type",
+ "uuid"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "NTP",
+ "PTP"
+ ]
+ },
+ "href": {
+ "type": "string",
+ "format": "uri"
+ },
+ "uuid": {
+ "type": "string",
+ "description": "uuid of the ept service",
+ "format": "uuid"
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the ept service"
+ },
+ "description": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string",
+ "description": "indicate service state",
+ "enum": [
+ "PROVISIONED",
+ "PROVISIONING",
+ "PROVISIONING_FAILED",
+ "CONFIGURING",
+ "CANCELLED",
+ "DEPROVISIONING_FAILED",
+ "PENDING_CONFIGURATION",
+ "DEPROVISIONED",
+ "CONFIGURING_FAILED",
+ "DEPROVISIONING"
+ ]
+ },
+ "package": {
+ "$ref": "#/components/schemas/precisionTimePackageResponse"
+ },
+ "connections": {
+ "maxItems": 2,
+ "minItems": 1,
+ "uniqueItems": true,
+ "type": "array",
+ "description": "fabric l2 connections used for the ept service",
+ "items": {
+ "$ref": "#/components/schemas/fabricConnectionUuid"
+ }
+ },
+ "order": {
+ "$ref": "#/components/schemas/Order"
+ },
+ "ipv4": {
+ "$ref": "#/components/schemas/ipv4"
+ },
+ "advanceConfiguration": {
+ "$ref": "#/components/schemas/advanceConfiguration"
+ },
+ "project": {
+ "$ref": "#/components/schemas/Project"
+ },
+ "account": {
+ "$ref": "#/components/schemas/account"
+ }
+ },
+ "description": "EPT service instance"
+ },
"connectionLink": {
"type": "object",
"properties": {
@@ -19819,7 +20504,7 @@
]
},
"id": {
- "type": "string"
+ "type": "integer"
},
"password": {
"type": "string"
@@ -22740,6 +23425,50 @@
]
}
},
+ "Fcr2Sp-Aws-marketplaceSubscription": {
+ "value": {
+ "type": "IP_VC",
+ "name": "My-FCR-AWSConnection",
+ "bandwidth": 100,
+ "redundancy": {
+ "priority": "PRIMARY"
+ },
+ "aSide": {
+ "accessPoint": {
+ "type": "CLOUD_ROUTER",
+ "router": {
+ "uuid": "66a21614-1c4a-11ec-9621-0242ac130002"
+ }
+ }
+ },
+ "zSide": {
+ "accessPoint": {
+ "type": "SP",
+ "profile": {
+ "type": "L2_PROFILE",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "location": {
+ "metroCode": "SV"
+ },
+ "sellerRegion": "us-west-1",
+ "authenticationKey": "xx-xx-xx"
+ }
+ },
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "test@equinix.com",
+ "test1@equinix.com"
+ ]
+ }
+ ]
+ }
+ },
"Fcr2Metal-Network": {
"value": {
"type": "IP_VC",
@@ -24162,6 +24891,64 @@
}
}
},
+ "Fcr2Sp-marketplaceSubscription-Response": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1",
+ "type": "IP_VC",
+ "uuid": "0ed42ea7-2df8-470d-ad59-e432d768b4f1",
+ "name": "GP_FG2GCP_001",
+ "bandwidth": 50,
+ "redundancy": {
+ "group": "4f786b3f-27d4-48e0-8571-423d085826c1",
+ "priority": "PRIMARY"
+ },
+ "order": {
+ "billingTier": "Up to 50 MB"
+ },
+ "aSide": {
+ "accessPoint": {
+ "type": "CLOUD_ROUTER",
+ "router": {
+ "href": "https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0",
+ "uuid": "56d267f3-a566-47a8-8cf9-40e6cc925bf0"
+ }
+ }
+ },
+ "zSide": {
+ "accessPoint": {
+ "type": "SP",
+ "profile": {
+ "href": "https://api.equinix.com/fabric/v4/serviceProfiles/c7922adf-34b5-4d4e-a87c-cae8c899ef90",
+ "uuid": "c7922adf-34b5-4d4e-a87c-cae8c899ef90"
+ }
+ }
+ },
+ "marketplaceSubscription": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5",
+ "type": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "operation": {
+ "equinixStatus": "PROVISIONING",
+ "providerStatus": "PROVISIONING"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "test@equinix.com",
+ "test1@equinix.com"
+ ]
+ }
+ ],
+ "changeLog": {
+ "createdBy": "test",
+ "createdByFullName": "test",
+ "createdByEmail": "test@equinix.com",
+ "createdDateTime": "2022-05-12T17:53:45.401Z"
+ }
+ }
+ },
"AsideServiceToken2PortResponseWithDot1q": {
"value": {
"href": "http://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d",
@@ -27572,6 +28359,11 @@
"type": "CONNECTION_PROVIDER_STATUS_REQUEST"
}
},
+ "Connection_Provider_Bandwidth_Request": {
+ "value": {
+ "type": "CONNECTION_PROVIDER_BANDWIDTH_REQUEST"
+ }
+ },
"AcceptZSide_NetworkEdge_Request": {
"value": {
"type": "CONNECTION_CREATION_ACCEPTANCE",
@@ -27621,6 +28413,20 @@
}
}
},
+ "Connection_Provider_Bandwidth_Response": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/connections/9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81/actions/37c10edc-ba2e-4240-a850-8a48f9c47d00",
+ "type": "CONNECTION_PROVIDER_BANDWIDTH_REQUEST",
+ "uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",
+ "data": {
+ "providerBandwidth": 500
+ },
+ "changeLog": {
+ "createdDateTime": "2020-04-21T10:30:00Z",
+ "updatedDateTime": "2020-05-21T10:30:00Z"
+ }
+ }
+ },
"RoutingProtocolGetAll": {
"value": {
"pagination": {
@@ -27650,15 +28456,18 @@
},
"type": "BGP",
"bgpIpv4": {
- "customerPeerIp": "10.1.1.3",
+ "customerPeerIp": "192.168.100.2",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UNKNOWN"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
},
{
"href": "https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4",
@@ -27785,12 +28594,15 @@
"customerPeerIp": "10.1.1.3",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UNKNOWN"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
}
},
"RoutingProtocolCreateDirectResponse": {
@@ -27842,15 +28654,20 @@
"bgpIpv4": {
"customerPeerIp": "10.1.1.2",
"equinixPeerIp": "192.168.100.1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"bgpIpv6": {
- "customerPeerIp": "2001:db8:c59b::1",
+ "customerPeerIp": "2001:db8:c59b::2",
"equinixPeerIp": "2001:db8:c59b::1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"customerAsn": 0,
"equinixAsn": 0,
+ "asOverrideEnabled": true,
"bgpAuthKey": "string",
"bfd": {
"enabled": true,
@@ -27866,18 +28683,23 @@
{
"type": "BGP",
"bgpIpv4": {
- "customerPeerIp": "10.1.1.2",
+ "customerPeerIp": "192.168.100.2",
"equinixPeerIp": "192.168.100.1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"bgpIpv6": {
- "customerPeerIp": "2001:db8:c59b::1",
+ "customerPeerIp": "2001:db8:c59b::2",
"equinixPeerIp": "2001:db8:c59b::1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"customerAsn": 0,
"equinixAsn": 0,
"bgpAuthKey": "string",
+ "asOverrideEnabled": true,
"bfd": {
"enabled": true,
"interval": 100
@@ -27890,7 +28712,7 @@
"equinixIfaceIp": "192.168.100.1/30"
},
"directIpv6": {
- "equinixIfaceIp": "2001:7a9::34f4:0:f3dd:1/126"
+ "equinixIfaceIp": "2001:db8:c59b::1/125"
}
}
]
@@ -27995,18 +28817,21 @@
"value": {
"type": "BGP",
"bgpIpv4": {
- "customerPeerIp": "10.1.1.2",
+ "customerPeerIp": "192.168.100.2",
"equinixPeerIp": "192.168.100.1",
- "outboundASPrependCount": 3
+ "outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000
},
"bgpIpv6": {
- "customerPeerIp": "2001:db8:c59b::1",
+ "customerPeerIp": "2001:db8:c59b::2",
"equinixPeerIp": "2001:db8:c59b::1",
"outboundASPrependCount": 3
},
"customerAsn": 0,
"equinixAsn": 0,
"bgpAuthKey": "string",
+ "asOverrideEnabled": true,
"bfd": {
"enabled": true,
"interval": 100
@@ -28038,12 +28863,15 @@
"customerPeerIp": "10.1.1.3",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UNKNOWN"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
}
},
"RoutingProtocolReplaceDirectResponse": {
@@ -28127,13 +28955,16 @@
"customerPeerIp": "10.1.1.3",
"enabled": true,
"outboundASPrependCount": 3,
+ "inboundMED": 1000,
+ "outboundMED": 2000,
"operation": {
"operationalStatus": "UP",
"opStatusChangedAt": "2021-10-30T07:21:39Z"
}
},
"customerAsn": 10000,
- "equinixAsn": 10001
+ "equinixAsn": 10001,
+ "asOverrideEnabled": true
}
},
"PatchRoutingProtocolEnableIPv4": {
@@ -33338,6 +34169,9 @@
},
"changeLog": {
"createdDateTime": "2020-06-14T17:21:25.586Z"
+ },
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
}
}
]
@@ -33361,6 +34195,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33420,6 +34257,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33479,6 +34319,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33637,6 +34480,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33692,6 +34538,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33745,6 +34594,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33886,6 +34738,9 @@
"type": "DOT1Q",
"tagProtocolId": 33024
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"account": {
"accountNumber": "270848"
},
@@ -33943,8 +34798,7 @@
"packageType": "STANDARD"
},
"project": {
- "href": "https://api.equinix.com/resourceManager/v1/projects/567",
- "projectId": 567
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
},
"account": {
"accountNumber": 1000
@@ -34354,6 +35208,9 @@
"sharedPortType": false,
"packageType": "STANDARD"
},
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"notifications": [
{
"type": "TECHNICAL",
@@ -34396,6 +35253,9 @@
"priority": "SECONDARY"
},
"lagEnabled": false,
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
+ },
"settings": {
"sharedPortType": false,
"packageType": "STANDARD"
@@ -34451,7 +35311,15 @@
"email": "john.doe@company.com"
}
}
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
},
{
"type": "XF_PHYSICAL_PORT",
@@ -34483,7 +35351,15 @@
"email": "john.doe@company.com"
}
}
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
}
]
}
@@ -34619,7 +35495,15 @@
},
"order": {
"orderNumber": "1-210210611904"
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
},
{
"type": "XF_PHYSICAL_PORT",
@@ -34634,7 +35518,15 @@
},
"order": {
"orderNumber": "1-210210611904"
- }
+ },
+ "notifications": [
+ {
+ "registeredUsers": [
+ "jaguarsuser-port-order"
+ ],
+ "type": "NOTIFICATION"
+ }
+ ]
}
]
}
@@ -34734,6 +35626,9 @@
},
"changeLog": {
"createdDateTime": "2018-06-14T17:21:25.587Z"
+ },
+ "project": {
+ "projectId": "8f23b36f-db8f-44c8-a6e5-606e1b485931"
}
}
},
@@ -36107,6 +37002,32 @@
}
}
},
+ "CreateWithMarketplaceSubscription": {
+ "value": {
+ "type": "XF_ROUTER",
+ "name": "My-Cloud-Router",
+ "location": {
+ "metroCode": "SV"
+ },
+ "package": {
+ "code": "ADVANCED"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "test@test.com"
+ ]
+ }
+ ],
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "marketplaceSubscription": {
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ }
+ }
+ },
"CloudRouterPostResponseExample": {
"value": {
"href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
@@ -36149,6 +37070,47 @@
}
}
},
+ "CloudRouterPostResponseMarketplaceExample": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "uuid": "201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "state": "PROVISIONED",
+ "type": "XF_ROUTER",
+ "name": "My-Cloud-Router",
+ "location": {
+ "metroCode": "HH"
+ },
+ "equinixAsn": 30000,
+ "package": {
+ "code": "STANDARD"
+ },
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "abc@abc.com"
+ ]
+ }
+ ],
+ "bgpIpv4RoutesCount": 0,
+ "bgpIpv6RoutesCount": 0,
+ "connectionsCount": 0,
+ "marketplaceSubscription": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5",
+ "type": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "changeLog": {
+ "createdBy": "abc@xyz.com",
+ "createdByFullName": "abc",
+ "createdByEmail": "abc@xyz.com",
+ "createdDateTime": "2021-09-24T06:59:46Z"
+ }
+ }
+ },
"400_invalid_package": {
"value": [
{
@@ -36211,6 +37173,53 @@
}
}
},
+ "CloudRouterResponseExampleMarketplace": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "uuid": "201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "state": "PROVISIONED",
+ "type": "XF_ROUTER",
+ "name": "My-Cloud-Router",
+ "location": {
+ "metroCode": "HH"
+ },
+ "equinixAsn": 30000,
+ "package": {
+ "code": "STANDARD"
+ },
+ "project": {
+ "projectId": "ae708bbb-d669-406a-845a-99b39ff65fd0"
+ },
+ "notifications": [
+ {
+ "type": "ALL",
+ "emails": [
+ "abc@abc.com"
+ ]
+ }
+ ],
+ "bgpIpv4RoutesCount": 4,
+ "bgpIpv6RoutesCount": 4,
+ "distinctIpv4PrefixesCount": 2,
+ "distinctIpv6PrefixesCount": 2,
+ "connectionsCount": 0,
+ "marketplaceSubscription": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5",
+ "type": "AWS_MARKETPLACE_SUBSCRIPTION",
+ "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
+ },
+ "changeLog": {
+ "createdBy": "abc@xyz.com",
+ "createdByFullName": "abc",
+ "createdByEmail": "abc@xyz.com",
+ "createdDateTime": "2021-09-24T06:59:46Z",
+ "updatedBy": "abc@xyz.com",
+ "updatedByFullName": "abc",
+ "updatedByEmail": "abc@xyz.com",
+ "updatedDateTime": "2021-09-24T06:59:46Z"
+ }
+ }
+ },
"400_invalid_state": {
"value": [
{
@@ -38516,7 +39525,7 @@
}
]
},
- "edit": {
+ "editName": {
"value": [
{
"op": "replace",
@@ -38525,7 +39534,16 @@
}
]
},
- "ntpSingleStandard": {
+ "editPackageCode": {
+ "value": [
+ {
+ "op": "replace",
+ "path": "/package/code",
+ "value": "NTP_ENTERPRISE"
+ }
+ ]
+ },
+ "ntpStandard": {
"value": {
"name": "EPT-Single-Service",
"type": "NTP",
@@ -38545,7 +39563,7 @@
}
}
},
- "ptpSingleStandard": {
+ "ptpStandard": {
"value": {
"name": "EPT-Single-Service",
"type": "PTP",
@@ -38565,7 +39583,7 @@
}
}
},
- "ptpSingleEnterpriseWithAdvanceConfiguration": {
+ "ptpEnterpriseWithAdvanceConfiguration": {
"value": {
"name": "EPT-Single-Service",
"type": "PTP",
@@ -38575,7 +39593,7 @@
}
],
"package": {
- "code": "PTP_STANDARD"
+ "code": "PTP_ENTERPRISE"
},
"ipv4": {
"primary": "192.168.0.2",
@@ -38596,6 +39614,192 @@
}
}
},
+ "ntpEnterpriseWithAdvanceConfiguration": {
+ "value": {
+ "name": "EPT-Single-Service",
+ "type": "NTP",
+ "connections": [
+ {
+ "uuid": "06dbb0e3-e55d-4090-8aff-fc5654abaad0"
+ }
+ ],
+ "package": {
+ "code": "NTP_ENTERPRISE"
+ },
+ "ipv4": {
+ "primary": "192.168.0.2",
+ "secondary": "192.168.0.3",
+ "networkMask": "255.255.255.255",
+ "defaultGateway": "192.167.0.1"
+ },
+ "advanceConfiguration": {
+ "ntp": [
+ {
+ "type": "ASCII",
+ "id": 12345,
+ "password": "MTIzNDU2Nzg5MA"
+ }
+ ]
+ }
+ }
+ },
+ "SearchTimeServicesFilterByStatus": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "property": "/state",
+ "operator": "=",
+ "values": [
+ "PROVISIONED"
+ ]
+ },
+ {
+ "property": "/project/projectId",
+ "operator": "=",
+ "values": [
+ "995072000433550"
+ ]
+ }
+ ]
+ },
+ "pagination": {
+ "offset": 0,
+ "limit": 20
+ },
+ "sort": [
+ {
+ "direction": "DESC",
+ "property": "/changeLog/createdDateTime"
+ }
+ ]
+ }
+ },
+ "SearchTimeServicesByNameAndProtocol": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "property": "/name",
+ "operator": "=",
+ "values": [
+ "test-time-service"
+ ]
+ },
+ {
+ "property": "/type",
+ "operator": "=",
+ "values": [
+ "NTP"
+ ]
+ },
+ {
+ "property": "/project/projectId",
+ "operator": "=",
+ "values": [
+ "995072000433550"
+ ]
+ }
+ ]
+ },
+ "pagination": {
+ "offset": 0,
+ "limit": 20
+ },
+ "sort": [
+ {
+ "direction": "DESC",
+ "property": "/changeLog/createdDateTime"
+ }
+ ]
+ }
+ },
+ "SearchTimeServicesFilterOrAnd": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "property": "/uuid",
+ "operator": "LIKE",
+ "values": [
+ "676a0c3f-a785-4294-87bc-25fe9318a620%"
+ ]
+ },
+ {
+ "property": "/name",
+ "operator": "LIKE",
+ "values": [
+ "test-time-service"
+ ]
+ }
+ ]
+ },
+ {
+ "property": "/project/projectId",
+ "operator": "=",
+ "values": [
+ "995072000433550"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "serviceSearchResponse": {
+ "value": {
+ "pagination": {
+ "offset": 20,
+ "limit": 20,
+ "total": 100,
+ "next": "/search?offset=40&limit=20",
+ "previous": "/search?offset=0&limit=20"
+ },
+ "data": [
+ {
+ "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
+ "uuid": "a8ba52de-faae-43b5-b0b1-6904d37ee011",
+ "name": "EPT-NTP-STD-Service",
+ "type": "NTP",
+ "state": "PROVISIONING",
+ "connections": [
+ {
+ "href": "https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011",
+ "uuid": "06dbb0e3-e55d-4090-8aff-fc5654abaad0"
+ }
+ ],
+ "package": {
+ "href": "https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD",
+ "code": "NTP_STANDARD"
+ },
+ "ipv4": {
+ "primary": "192.168.0.2",
+ "secondary": "192.168.0.3",
+ "networkMask": "255.255.255.255",
+ "defaultGateway": "192.167.0.1"
+ },
+ "account": {
+ "accountNumber": 123456
+ }
+ }
+ ]
+ }
+ },
+ "service_400_invalid_sorting": {
+ "value": [
+ {
+ "errorCode": "EQ-3040039",
+ "errorMessage": "Invalid value for sorting direction.",
+ "correlationId": "c82ff3bc-de07-47e5-b3ec-53a009d01515",
+ "additionalInfo": [
+ {
+ "reason": "Only accept DESC and ASC for sorting direction."
+ }
+ ]
+ }
+ ]
+ },
"serviceConnectionsResponse": {
"value": {
"pagination": {
@@ -38715,7 +39919,157 @@
}
}
},
- "get-all-example": {
+ "subscription-response": {
+ "value": {
+ "href": "https://api.equinix.com/fabric/v4/marketplaceSubscriptions/c5557b51-7938-4f7d-afaa-41b930903a5e",
+ "uuid": "c5557b51-7938-4f7d-afaa-41b930903a5e",
+ "state": "ACTIVE",
+ "marketplace": "AWS",
+ "offerType": "PRIVATE_OFFER",
+ "isAutoRenew": false,
+ "offerId": "offer id",
+ "trial": {
+ "enabled": true,
+ "expiryDateTime": "2020-05-21T10:30:00Z"
+ },
+ "entitlements": [
+ {
+ "uuid": "a15b6b20-b765-4bf7-a661-a3e9372d5435",
+ "name": "FCR Standard",
+ "quantityEntitled": 1,
+ "quantityConsumed": 0,
+ "asset": {
+ "type": "XF_ROUTER",
+ "package": {
+ "code": "STANDARD"
+ }
+ }
+ },
+ {
+ "uuid": "2e3a9041-19ce-4c80-add3-3e3a069fc5e9",
+ "name": "Connection 500 Mbps",
+ "quantityEntitled": 1,
+ "quantityConsumed": 0,
+ "quantityAvailable": 1,
+ "asset": {
+ "type": "IP_VC",
+ "bandwidth": 500
+ }
+ }
+ ],
+ "changeLog": {
+ "createdBy": "adminuser",
+ "createdDateTime": "2020-05-21T10:30:00Z",
+ "updatedBy": "adminuser",
+ "updatedDateTime": "2020-05-21T10:30:00Z"
+ }
+ }
+ },
+ "StreamResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/streams/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk1",
+ "description": "subscription 1",
+ "enabled": true,
+ "state": "PROVISIONED",
+ "project": {
+ "projectId": 123456
+ },
+ "changelog": {
+ "createdDateTime": "2024-05-06T16:21:18.545214Z"
+ }
+ }
+ },
+ "StreamPostRequestExample": {
+ "value": {
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk1",
+ "description": "subscription 1"
+ }
+ },
+ "StreamPutRequestExample": {
+ "value": {
+ "name": "splunk1",
+ "description": "subscription 1",
+ "stream": {
+ "uuid": "36276e58-b5a1-4864-ab5e-be10dff9eac1"
+ }
+ }
+ },
+ "StreamAssetSearchRequestExample": {
+ "value": {
+ "filter": {
+ "and": [
+ {
+ "property": "/streamUuid",
+ "operator": "=",
+ "values": [
+ "e684aa26-8276-48b7-bb42-a6d9def0a419"
+ ]
+ }
+ ]
+ },
+ "pagination": {
+ "offset": 0,
+ "limit": 20
+ },
+ "sort": [
+ {
+ "direction": "DESC",
+ "property": "/changeLog/createdDateTime"
+ }
+ ]
+ }
+ },
+ "stream-asset-get-all-example": {
+ "value": {
+ "pagination": {
+ "offset": 0,
+ "limit": 20,
+ "total": 1
+ },
+ "data": [
+ {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/ports/e684aa26-8276-48b7-bb42-a6d9def0a419",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ ]
+ }
+ },
+ "StreamRouterAssetResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/routers/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ },
+ "StreamAssetPutRequestExample": {
+ "value": {
+ "metricsEnabled": true
+ }
+ },
+ "StreamConnectionAssetResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/connections/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ },
+ "StreamPortAssetResponseExample": {
+ "value": {
+ "uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "href": "https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/ports/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "metricsEnabled": true,
+ "attachmentStatus": "ATTACHED"
+ }
+ },
+ "stream-subscription-get-all-example": {
"value": {
"pagination": {
"offset": 0,
@@ -38725,11 +40079,12 @@
"data": [
{
"uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
- "href": "https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
- "type": "CLOUDEVENT_SUBSCRIPTION",
- "name": "slack1",
+ "href": "https://api.equinix.com/fabric/v4/streamSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk",
"description": "subscription 1",
"enabled": true,
+ "state": "PROVISIONED",
"filters": {
"and": [
{
@@ -38752,10 +40107,10 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
},
"changelog": {
"createdDateTime": "2024-05-06T16:21:18.545214Z"
@@ -38764,27 +40119,25 @@
]
}
},
- "CloudeventSubscriptionPostRequestExample": {
+ "StreamSubscriptionPostRequestExample": {
"value": {
- "type": "CLOUDEVENT_SUBSCRIPTION",
- "name": "slack1",
+ "type": "STREAM_SUBSCRIPTION",
+ "name": "splunk1",
"description": "subscription 1",
"enabled": true,
+ "stream": {
+ "uuid": "36276e58-b5a1-4864-ab5e-be10dff9eac1"
+ },
+ "project": {
+ "projectId": 123456
+ },
"filters": {
"and": [
{
- "path": "subject",
+ "path": "type",
"operator": "LIKE",
"values": [
- "%36276e58-b5a1-4864-ab5e-be10dff9eac1%"
- ],
- "or": []
- },
- {
- "path": "equinixproject",
- "operator": "IN",
- "values": [
- "197607000886247"
+ "%com.equinix.event.fabric.connection%"
],
"or": []
}
@@ -38792,36 +40145,37 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "credential": {
+ "type": "ACCESS_TOKEN",
+ "accessToken": "my-access-token"
+ },
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
}
}
},
- "CloudeventSubscriptionResponseExample": {
+ "StreamSubscriptionResponseExample": {
"value": {
"uuid": "d684aa26-8276-48b7-bb42-a6d9def0a418",
- "href": "https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
- "type": "CLOUDEVENT_SUBSCRIPTION",
- "name": "slack1",
- "description": "subscription 1",
- "enabled": true,
+ "href": "https://api.equinix.com/fabric/v4/streamSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418",
+ "type": "TELEMETRY_STREAM",
+ "name": "stream 1",
+ "description": "stream dec 1",
+ "project": {
+ "projectId": 1234546
+ },
+ "state": "PROVISIONED",
+ "assetCount": 1,
+ "streamSubscriptionCount": 2,
"filters": {
"and": [
{
- "path": "subject",
+ "path": "type",
"operator": "LIKE",
"values": [
- "%36276e58-b5a1-4864-ab5e-be10dff9eac1%"
- ],
- "or": []
- },
- {
- "path": "equinixproject",
- "operator": "IN",
- "values": [
- "197607000886247"
+ "%com.equinix.event.fabric.connection%"
],
"or": []
}
@@ -38829,36 +40183,35 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "credential": {
+ "type": "ACCESS_TOKEN",
+ "accessToken": "my-access-token"
+ },
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
},
"changelog": {
"createdDateTime": "2024-05-06T16:21:18.545214Z"
}
}
},
- "CloudeventSubscriptionPutRequestExample": {
+ "StreamSubscriptionPutRequestExample": {
"value": {
- "name": "slack1",
+ "name": "splunk1",
"description": "subscription 1",
"enabled": true,
+ "stream": {
+ "uuid": "36276e58-b5a1-4864-ab5e-be10dff9eac1"
+ },
"filters": {
"and": [
{
- "path": "subject",
+ "path": "type",
"operator": "LIKE",
"values": [
- "%36276e58-b5a1-4864-ab5e-be10dff9eac1%"
- ],
- "or": []
- },
- {
- "path": "equinixproject",
- "operator": "IN",
- "values": [
- "197607000886247"
+ "%equinix.event.fabric.connection%"
],
"or": []
}
@@ -38866,10 +40219,14 @@
},
"sink": {
"uri": "https://xxxxxx",
- "type": "SLACK",
- "batch": false,
- "maxBatchSize": 50,
- "maxBatchWaitTime": 5
+ "type": "SPLUNK_HEC",
+ "credential": {
+ "type": "ACCESS_TOKEN",
+ "accessToken": "my-access-token"
+ },
+ "batchEnabled": false,
+ "batchSizeMax": 50,
+ "batchWaitTimeMax": 5
}
}
}
From 6ca78e57d8b5058ef6fa386785daf14437a1f53b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 13 Aug 2024 04:55:41 +0000
Subject: [PATCH 2/3] sync: generate client with 2024-08-13 spec
---
.../.openapi-generator/FILES | 57 +
equinix-openapi-fabric/README.md | 22 +-
equinix-openapi-fabric/api/openapi.yaml | 2499 +++++++++++++++--
equinix-openapi-fabric/docs/Actions.md | 2 +
.../docs/BGPConnectionIpv4.md | 2 +
.../docs/BGPConnectionIpv6.md | 2 +
equinix-openapi-fabric/docs/CloudRouter.md | 1 +
.../docs/CloudRouterPostRequest.md | 1 +
equinix-openapi-fabric/docs/Connection.md | 1 +
.../docs/ConnectionAcceptanceData.md | 1 +
.../docs/ConnectionPostRequest.md | 1 +
.../docs/MarketplaceSubscription.md | 24 +
.../docs/MarketplaceSubscriptionsApi.md | 80 +
equinix-openapi-fabric/docs/Md5.md | 2 +-
equinix-openapi-fabric/docs/PhysicalPort.md | 1 +
equinix-openapi-fabric/docs/PortOrder.md | 1 +
.../docs/PrecisionTimeApi.md | 73 +
.../docs/PrecisionTimeChangeOperation.md | 7 +-
.../docs/PrecisionTimeServiceResponse.md | 52 +
.../docs/RoutingProtocolBGPData.md | 1 +
.../docs/RoutingProtocolBGPType.md | 1 +
.../docs/RoutingProtocolBase.md | 1 +
.../docs/RoutingProtocolData.md | 1 +
.../docs/ServiceSearchResponse.md | 14 +
.../docs/SubscriptionAsset.md | 16 +
.../docs/SubscriptionAssetType.md | 13 +
.../docs/SubscriptionEntitlementResponse.md | 18 +
.../docs/SubscriptionResponse.md | 44 +
.../docs/SubscriptionRouterPackageType.md | 23 +
.../docs/SubscriptionStatus.md | 17 +
.../docs/SubscriptionTrial.md | 15 +
.../docs/TimeServiceFilter.md | 16 +
.../docs/TimeServiceFilters.md | 13 +
.../docs/TimeServiceOrFilter.md | 13 +
.../docs/TimeServiceSimpleExpression.md | 15 +
.../docs/TimeServiceSortBy.md | 23 +
.../docs/TimeServiceSortCriteria.md | 14 +
.../docs/TimeServiceSortDirection.md | 13 +
.../docs/TimeServicesSearchRequest.md | 16 +
.../java/com/equinix/openapi/fabric/JSON.java | 14 +
.../v4/api/MarketplaceSubscriptionsApi.java | 215 ++
.../fabric/v4/api/PrecisionTimeApi.java | 145 +
.../openapi/fabric/v4/model/Actions.java | 2 +
.../fabric/v4/model/BGPConnectionIpv4.java | 60 +-
.../fabric/v4/model/BGPConnectionIpv6.java | 60 +-
.../openapi/fabric/v4/model/CloudRouter.java | 36 +-
.../v4/model/CloudRouterPostRequest.java | 38 +-
.../openapi/fabric/v4/model/Connection.java | 36 +-
.../v4/model/ConnectionAcceptanceData.java | 32 +-
.../v4/model/ConnectionPostRequest.java | 38 +-
.../v4/model/MarketplaceSubscription.java | 387 +++
.../equinix/openapi/fabric/v4/model/Md5.java | 11 +-
.../openapi/fabric/v4/model/PhysicalPort.java | 54 +-
.../openapi/fabric/v4/model/PortOrder.java | 34 +-
.../model/PrecisionTimeChangeOperation.java | 14 +-
.../model/PrecisionTimeServiceResponse.java | 816 ++++++
.../v4/model/RoutingProtocolBGPData.java | 31 +-
.../v4/model/RoutingProtocolBGPType.java | 31 +-
.../v4/model/ServiceSearchResponse.java | 334 +++
.../fabric/v4/model/SubscriptionAsset.java | 339 +++
.../v4/model/SubscriptionAssetType.java | 71 +
.../SubscriptionEntitlementResponse.java | 403 +++
.../fabric/v4/model/SubscriptionResponse.java | 719 +++++
.../model/SubscriptionRouterPackageType.java | 325 +++
.../fabric/v4/model/SubscriptionStatus.java | 75 +
.../fabric/v4/model/SubscriptionTrial.java | 305 ++
.../fabric/v4/model/TimeServiceFilter.java | 274 ++
.../fabric/v4/model/TimeServiceFilters.java | 300 ++
.../fabric/v4/model/TimeServiceOrFilter.java | 300 ++
.../v4/model/TimeServiceSimpleExpression.java | 353 +++
.../fabric/v4/model/TimeServiceSortBy.java | 81 +
.../v4/model/TimeServiceSortCriteria.java | 306 ++
.../v4/model/TimeServiceSortDirection.java | 71 +
.../v4/model/TimeServicesSearchRequest.java | 368 +++
74 files changed, 9489 insertions(+), 305 deletions(-)
create mode 100644 equinix-openapi-fabric/docs/MarketplaceSubscription.md
create mode 100644 equinix-openapi-fabric/docs/MarketplaceSubscriptionsApi.md
create mode 100644 equinix-openapi-fabric/docs/PrecisionTimeServiceResponse.md
create mode 100644 equinix-openapi-fabric/docs/ServiceSearchResponse.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionAsset.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionAssetType.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionEntitlementResponse.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionResponse.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionRouterPackageType.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionStatus.md
create mode 100644 equinix-openapi-fabric/docs/SubscriptionTrial.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceFilter.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceFilters.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceOrFilter.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceSimpleExpression.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceSortBy.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceSortCriteria.md
create mode 100644 equinix-openapi-fabric/docs/TimeServiceSortDirection.md
create mode 100644 equinix-openapi-fabric/docs/TimeServicesSearchRequest.md
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/MarketplaceSubscriptionsApi.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/MarketplaceSubscription.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceResponse.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceSearchResponse.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAsset.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAssetType.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionEntitlementResponse.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionResponse.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionRouterPackageType.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionStatus.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionTrial.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilter.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilters.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceOrFilter.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSimpleExpression.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortBy.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortCriteria.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortDirection.java
create mode 100644 equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServicesSearchRequest.java
diff --git a/equinix-openapi-fabric/.openapi-generator/FILES b/equinix-openapi-fabric/.openapi-generator/FILES
index f64cad36..3d702590 100644
--- a/equinix-openapi-fabric/.openapi-generator/FILES
+++ b/equinix-openapi-fabric/.openapi-generator/FILES
@@ -121,6 +121,8 @@ docs/LinkProtocolType.md
docs/LinkProtocolUntagged.md
docs/LinkProtocolVxlan.md
docs/MarketingInfo.md
+docs/MarketplaceSubscription.md
+docs/MarketplaceSubscriptionsApi.md
docs/Md5.md
docs/MetalInterconnection.md
docs/MetricInterval.md
@@ -200,6 +202,7 @@ docs/PrecisionTimeServiceConnectionsResponse.md
docs/PrecisionTimeServiceCreateResponse.md
docs/PrecisionTimeServicePackagesResponse.md
docs/PrecisionTimeServiceRequest.md
+docs/PrecisionTimeServiceResponse.md
docs/Presence.md
docs/Price.md
docs/PriceCategory.md
@@ -298,6 +301,7 @@ docs/ServiceProfileTypeEnum.md
docs/ServiceProfileVisibilityEnum.md
docs/ServiceProfiles.md
docs/ServiceProfilesApi.md
+docs/ServiceSearchResponse.md
docs/ServiceToken.md
docs/ServiceTokenActionRequest.md
docs/ServiceTokenActions.md
@@ -330,6 +334,21 @@ docs/SortItem.md
docs/Statistics.md
docs/StatisticsApi.md
docs/SubInterface.md
+docs/SubscriptionAsset.md
+docs/SubscriptionAssetType.md
+docs/SubscriptionEntitlementResponse.md
+docs/SubscriptionResponse.md
+docs/SubscriptionRouterPackageType.md
+docs/SubscriptionStatus.md
+docs/SubscriptionTrial.md
+docs/TimeServiceFilter.md
+docs/TimeServiceFilters.md
+docs/TimeServiceOrFilter.md
+docs/TimeServiceSimpleExpression.md
+docs/TimeServiceSortBy.md
+docs/TimeServiceSortCriteria.md
+docs/TimeServiceSortDirection.md
+docs/TimeServicesSearchRequest.md
docs/TopUtilizedStatistics.md
docs/ValidateRequest.md
docs/ValidateRequestFilter.md
@@ -387,6 +406,7 @@ src/main/java/com/equinix/openapi/fabric/auth/HttpBearerAuth.java
src/main/java/com/equinix/openapi/fabric/v4/api/CloudRoutersApi.java
src/main/java/com/equinix/openapi/fabric/v4/api/ConnectionsApi.java
src/main/java/com/equinix/openapi/fabric/v4/api/HealthApi.java
+src/main/java/com/equinix/openapi/fabric/v4/api/MarketplaceSubscriptionsApi.java
src/main/java/com/equinix/openapi/fabric/v4/api/MetrosApi.java
src/main/java/com/equinix/openapi/fabric/v4/api/NetworksApi.java
src/main/java/com/equinix/openapi/fabric/v4/api/PortsApi.java
@@ -511,6 +531,7 @@ 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/MarketplaceSubscription.java
src/main/java/com/equinix/openapi/fabric/v4/model/Md5.java
src/main/java/com/equinix/openapi/fabric/v4/model/MetalInterconnection.java
src/main/java/com/equinix/openapi/fabric/v4/model/MetricInterval.java
@@ -586,6 +607,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnection
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/PrecisionTimeServiceResponse.java
src/main/java/com/equinix/openapi/fabric/v4/model/Presence.java
src/main/java/com/equinix/openapi/fabric/v4/model/Price.java
src/main/java/com/equinix/openapi/fabric/v4/model/PriceCategory.java
@@ -679,6 +701,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfileStateEnum.java
src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfileTypeEnum.java
src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfileVisibilityEnum.java
src/main/java/com/equinix/openapi/fabric/v4/model/ServiceProfiles.java
+src/main/java/com/equinix/openapi/fabric/v4/model/ServiceSearchResponse.java
src/main/java/com/equinix/openapi/fabric/v4/model/ServiceToken.java
src/main/java/com/equinix/openapi/fabric/v4/model/ServiceTokenActionRequest.java
src/main/java/com/equinix/openapi/fabric/v4/model/ServiceTokenActions.java
@@ -709,6 +732,21 @@ src/main/java/com/equinix/openapi/fabric/v4/model/SortDirection.java
src/main/java/com/equinix/openapi/fabric/v4/model/SortItem.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/SubscriptionAsset.java
+src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAssetType.java
+src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionEntitlementResponse.java
+src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionResponse.java
+src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionRouterPackageType.java
+src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionStatus.java
+src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionTrial.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilter.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilters.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceOrFilter.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSimpleExpression.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortBy.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortCriteria.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortDirection.java
+src/main/java/com/equinix/openapi/fabric/v4/model/TimeServicesSearchRequest.java
src/main/java/com/equinix/openapi/fabric/v4/model/TopUtilizedStatistics.java
src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequest.java
src/main/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilter.java
@@ -740,6 +778,7 @@ src/main/java/com/equinix/openapi/fabric/v4/model/VpicInterface.java
src/test/java/com/equinix/openapi/fabric/v4/api/CloudRoutersApiTest.java
src/test/java/com/equinix/openapi/fabric/v4/api/ConnectionsApiTest.java
src/test/java/com/equinix/openapi/fabric/v4/api/HealthApiTest.java
+src/test/java/com/equinix/openapi/fabric/v4/api/MarketplaceSubscriptionsApiTest.java
src/test/java/com/equinix/openapi/fabric/v4/api/MetrosApiTest.java
src/test/java/com/equinix/openapi/fabric/v4/api/NetworksApiTest.java
src/test/java/com/equinix/openapi/fabric/v4/api/PortsApiTest.java
@@ -863,6 +902,7 @@ 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/MarketplaceSubscriptionTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/Md5Test.java
src/test/java/com/equinix/openapi/fabric/v4/model/MetalInterconnectionTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/MetricIntervalTest.java
@@ -938,6 +978,7 @@ src/test/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceConnection
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/PrecisionTimeServiceResponseTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/PresenceTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/PriceCategoryTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/PriceChargeTest.java
@@ -1031,6 +1072,7 @@ src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfileTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfileTypeEnumTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfileVisibilityEnumTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ServiceProfilesTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/ServiceSearchResponseTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ServiceTokenActionRequestTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ServiceTokenActionsTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ServiceTokenChangeOperationTest.java
@@ -1061,6 +1103,21 @@ src/test/java/com/equinix/openapi/fabric/v4/model/SortItemTest.java
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/SubscriptionAssetTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/SubscriptionAssetTypeTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/SubscriptionEntitlementResponseTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/SubscriptionResponseTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/SubscriptionRouterPackageTypeTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/SubscriptionStatusTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/SubscriptionTrialTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilterTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceFiltersTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceOrFilterTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceSimpleExpressionTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortByTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortCriteriaTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortDirectionTest.java
+src/test/java/com/equinix/openapi/fabric/v4/model/TimeServicesSearchRequestTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/TopUtilizedStatisticsTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterAndTest.java
src/test/java/com/equinix/openapi/fabric/v4/model/ValidateRequestFilterTest.java
diff --git a/equinix-openapi-fabric/README.md b/equinix-openapi-fabric/README.md
index 93631dfe..48335c0e 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.14
+- API version: 4.15
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. Integrations (SDKs, Tools) links: Fabric Java SDK Fabric Go SDK Equinix Terraform Provider Fabric Terraform Modules Equinix Pulumi Provider
@@ -137,6 +137,7 @@ Class | Method | HTTP request | Description
*ConnectionsApi* | [**updateConnectionByUuid**](docs/ConnectionsApi.md#updateConnectionByUuid) | **PATCH** /fabric/v4/connections/{connectionId} | Update by ID
*ConnectionsApi* | [**validateConnections**](docs/ConnectionsApi.md#validateConnections) | **POST** /fabric/v4/connections/validate | Validate Connection
*HealthApi* | [**getStatus**](docs/HealthApi.md#getStatus) | **GET** /fabric/v4/health | Get service status
+*MarketplaceSubscriptionsApi* | [**getSubscriptionById**](docs/MarketplaceSubscriptionsApi.md#getSubscriptionById) | **GET** /fabric/v4/marketplaceSubscriptions/{subscriptionId} | Get Subscription
*MetrosApi* | [**getMetroByCode**](docs/MetrosApi.md#getMetroByCode) | **GET** /fabric/v4/metros/{metroCode} | Get Metro by Code
*MetrosApi* | [**getMetros**](docs/MetrosApi.md#getMetros) | **GET** /fabric/v4/metros | Get all Metros
*NetworksApi* | [**createNetwork**](docs/NetworksApi.md#createNetwork) | **POST** /fabric/v4/networks | Create Network
@@ -161,6 +162,7 @@ Class | Method | HTTP request | Description
*PrecisionTimeApi* | [**getTimeServicesConnectionsByServiceId**](docs/PrecisionTimeApi.md#getTimeServicesConnectionsByServiceId) | **GET** /fabric/v4/timeServices/{serviceId}/connections | Get Connection Links
*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* | [**searchTimeServices**](docs/PrecisionTimeApi.md#searchTimeServices) | **POST** /fabric/v4/timeServices/search | Search Time Services
*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
@@ -331,6 +333,7 @@ Class | Method | HTTP request | Description
- [LinkProtocolUntagged](docs/LinkProtocolUntagged.md)
- [LinkProtocolVxlan](docs/LinkProtocolVxlan.md)
- [MarketingInfo](docs/MarketingInfo.md)
+ - [MarketplaceSubscription](docs/MarketplaceSubscription.md)
- [Md5](docs/Md5.md)
- [MetalInterconnection](docs/MetalInterconnection.md)
- [MetricInterval](docs/MetricInterval.md)
@@ -406,6 +409,7 @@ Class | Method | HTTP request | Description
- [PrecisionTimeServiceCreateResponse](docs/PrecisionTimeServiceCreateResponse.md)
- [PrecisionTimeServicePackagesResponse](docs/PrecisionTimeServicePackagesResponse.md)
- [PrecisionTimeServiceRequest](docs/PrecisionTimeServiceRequest.md)
+ - [PrecisionTimeServiceResponse](docs/PrecisionTimeServiceResponse.md)
- [Presence](docs/Presence.md)
- [Price](docs/Price.md)
- [PriceCategory](docs/PriceCategory.md)
@@ -499,6 +503,7 @@ Class | Method | HTTP request | Description
- [ServiceProfileTypeEnum](docs/ServiceProfileTypeEnum.md)
- [ServiceProfileVisibilityEnum](docs/ServiceProfileVisibilityEnum.md)
- [ServiceProfiles](docs/ServiceProfiles.md)
+ - [ServiceSearchResponse](docs/ServiceSearchResponse.md)
- [ServiceToken](docs/ServiceToken.md)
- [ServiceTokenActionRequest](docs/ServiceTokenActionRequest.md)
- [ServiceTokenActions](docs/ServiceTokenActions.md)
@@ -529,6 +534,21 @@ Class | Method | HTTP request | Description
- [SortItem](docs/SortItem.md)
- [Statistics](docs/Statistics.md)
- [SubInterface](docs/SubInterface.md)
+ - [SubscriptionAsset](docs/SubscriptionAsset.md)
+ - [SubscriptionAssetType](docs/SubscriptionAssetType.md)
+ - [SubscriptionEntitlementResponse](docs/SubscriptionEntitlementResponse.md)
+ - [SubscriptionResponse](docs/SubscriptionResponse.md)
+ - [SubscriptionRouterPackageType](docs/SubscriptionRouterPackageType.md)
+ - [SubscriptionStatus](docs/SubscriptionStatus.md)
+ - [SubscriptionTrial](docs/SubscriptionTrial.md)
+ - [TimeServiceFilter](docs/TimeServiceFilter.md)
+ - [TimeServiceFilters](docs/TimeServiceFilters.md)
+ - [TimeServiceOrFilter](docs/TimeServiceOrFilter.md)
+ - [TimeServiceSimpleExpression](docs/TimeServiceSimpleExpression.md)
+ - [TimeServiceSortBy](docs/TimeServiceSortBy.md)
+ - [TimeServiceSortCriteria](docs/TimeServiceSortCriteria.md)
+ - [TimeServiceSortDirection](docs/TimeServiceSortDirection.md)
+ - [TimeServicesSearchRequest](docs/TimeServicesSearchRequest.md)
- [TopUtilizedStatistics](docs/TopUtilizedStatistics.md)
- [ValidateRequest](docs/ValidateRequest.md)
- [ValidateRequestFilter](docs/ValidateRequestFilter.md)
diff --git a/equinix-openapi-fabric/api/openapi.yaml b/equinix-openapi-fabric/api/openapi.yaml
index 7d945cd0..05b491fc 100644
--- a/equinix-openapi-fabric/api/openapi.yaml
+++ b/equinix-openapi-fabric/api/openapi.yaml
@@ -22,7 +22,7 @@ info:
url: https://developer.equinix.com/agreement
termsOfService: https://www.equinix.com/about/legal/terms
title: Equinix Fabric API v4
- version: "4.14"
+ version: "4.15"
externalDocs:
description: Find more information on Equinix Developer Portal
url: https://developer.equinix.com
@@ -206,6 +206,9 @@ paths:
Fcr2IpWan:
$ref: '#/components/examples/Fcr2IpWan'
value: null
+ Fcr2Sp-Aws-Marketplace-subscription:
+ $ref: '#/components/examples/Fcr2Sp-Aws-marketplaceSubscription'
+ value: null
Fcr2MetalNetwork:
$ref: '#/components/examples/Fcr2Metal-Network'
value: null
@@ -307,6 +310,9 @@ paths:
Fcr2IpWan:
$ref: '#/components/examples/Fcr2IpWan-response'
value: null
+ Fcr2Sp-Marketplace-subscription:
+ $ref: '#/components/examples/Fcr2Sp-marketplaceSubscription-Response'
+ value: null
ServiceToken2PortResponseDot1Q:
$ref: '#/components/examples/AsideServiceToken2PortResponseWithDot1q'
value: null
@@ -697,6 +703,9 @@ paths:
BGPSync:
$ref: '#/components/examples/Connection_Provider_Status_Request'
value: null
+ GetProviderBandwidth:
+ $ref: '#/components/examples/Connection_Provider_Bandwidth_Request'
+ value: null
AcceptZSide-NetworkEdge:
$ref: '#/components/examples/AcceptZSide_NetworkEdge_Request'
value: null
@@ -711,6 +720,9 @@ paths:
connectionActionExample:
$ref: '#/components/examples/ConnectionActionResponse'
value: null
+ GetProviderBandwidth:
+ $ref: '#/components/examples/Connection_Provider_Bandwidth_Response'
+ value: null
schema:
$ref: '#/components/schemas/ConnectionAction'
description: Successful operation
@@ -6456,6 +6468,9 @@ paths:
CreateProPackage:
$ref: '#/components/examples/CreateStandardPackage'
value: null
+ CreateWithMarketplaceSubscription:
+ $ref: '#/components/examples/CreateWithMarketplaceSubscription'
+ value: null
schema:
$ref: '#/components/schemas/CloudRouterPostRequest'
required: true
@@ -6467,6 +6482,9 @@ paths:
cloudRouterResponse:
$ref: '#/components/examples/CloudRouterPostResponseExample'
value: null
+ cloudRouterResponseForMarketplaceSubscription:
+ $ref: '#/components/examples/CloudRouterPostResponseMarketplaceExample'
+ value: null
schema:
$ref: '#/components/schemas/CloudRouter'
description: Fabric Cloud Router object
@@ -6615,6 +6633,9 @@ paths:
cloudRouterResponse:
$ref: '#/components/examples/CloudRouterResponseExample'
value: null
+ cloudRouterResponseMarketplace:
+ $ref: '#/components/examples/CloudRouterResponseExampleMarketplace'
+ value: null
schema:
$ref: '#/components/schemas/CloudRouter'
description: Fabric Cloud Router object
@@ -8370,7 +8391,10 @@ paths:
application/json-patch+json:
examples:
editName:
- $ref: '#/components/examples/edit'
+ $ref: '#/components/examples/editName'
+ value: null
+ editPackageCode:
+ $ref: '#/components/examples/editPackageCode'
value: null
schema:
items:
@@ -8583,14 +8607,17 @@ paths:
content:
application/json:
examples:
- ntpSingleStandard:
- $ref: '#/components/examples/ntpSingleStandard'
+ ntpStandard:
+ $ref: '#/components/examples/ntpStandard'
+ value: null
+ ptpStandard:
+ $ref: '#/components/examples/ptpStandard'
value: null
- ptpSingleStandard:
- $ref: '#/components/examples/ptpSingleStandard'
+ ptpEnterpriseWithAdvanceConfiguration:
+ $ref: '#/components/examples/ptpEnterpriseWithAdvanceConfiguration'
value: null
- ptpSingleEnterpriseWithAdvanceConfiguration:
- $ref: '#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration'
+ ntpEnterpriseWithAdvanceConfiguration:
+ $ref: '#/components/examples/ntpEnterpriseWithAdvanceConfiguration'
value: null
schema:
$ref: '#/components/schemas/precisionTimeServiceRequest'
@@ -8790,6 +8817,94 @@ paths:
- Precision Time
x-content-type: application/json
x-accepts: application/json
+ /fabric/v4/timeServices/search:
+ post:
+ description: "The API provides capability to get list of user's Time Services\
+ \ using search criteria, including optional filtering, pagination and sorting"
+ operationId: searchTimeServices
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ examples:
+ SearchFilterByStatus:
+ $ref: '#/components/examples/SearchTimeServicesFilterByStatus'
+ value: null
+ SearchFilterByNameAndProtocol:
+ $ref: '#/components/examples/SearchTimeServicesByNameAndProtocol'
+ value: null
+ SearchFilterOrAnd:
+ $ref: '#/components/examples/SearchTimeServicesFilterOrAnd'
+ value: null
+ schema:
+ $ref: '#/components/schemas/TimeServicesSearchRequest'
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ Example:
+ $ref: '#/components/examples/serviceSearchResponse'
+ value: null
+ schema:
+ $ref: '#/components/schemas/ServiceSearchResponse'
+ description: Successful operation
+ "400":
+ content:
+ application/json:
+ examples:
+ example:
+ $ref: '#/components/examples/service_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 Time Services
+ tags:
+ - Precision Time
+ x-content-type: application/json
+ x-accepts: application/json
/fabric/v4/timeServices/{serviceId}/connections:
get:
description: The API provides capability to get prevision timing service's details
@@ -8952,6 +9067,75 @@ paths:
tags:
- Precision Time
x-accepts: application/json
+ /fabric/v4/marketplaceSubscriptions/{subscriptionId}:
+ get:
+ description: The API provides capability to get subscription
+ operationId: getSubscriptionById
+ parameters:
+ - description: Subscription UUID
+ explode: false
+ in: path
+ name: subscriptionId
+ required: true
+ schema:
+ $ref: '#/components/schemas/SubscriptionId'
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ example:
+ $ref: '#/components/examples/subscription-response'
+ value: null
+ schema:
+ $ref: '#/components/schemas/SubscriptionResponse'
+ 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: Get Subscription
+ tags:
+ - Marketplace Subscriptions
+ x-preview: false
+ x-accepts: application/json
components:
examples:
"400":
@@ -10495,6 +10679,35 @@ components:
emails:
- test@equinix.com
- test1@equinix.com
+ Fcr2Sp-Aws-marketplaceSubscription:
+ value:
+ type: IP_VC
+ name: My-FCR-AWSConnection
+ bandwidth: 100
+ redundancy:
+ priority: PRIMARY
+ aSide:
+ accessPoint:
+ type: CLOUD_ROUTER
+ router:
+ uuid: 66a21614-1c4a-11ec-9621-0242ac130002
+ zSide:
+ accessPoint:
+ type: SP
+ profile:
+ type: L2_PROFILE
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
+ location:
+ metroCode: SV
+ sellerRegion: us-west-1
+ authenticationKey: xx-xx-xx
+ project:
+ projectId: ae708bbb-d669-406a-845a-99b39ff65fd0
+ notifications:
+ - type: ALL
+ emails:
+ - test@equinix.com
+ - test1@equinix.com
Fcr2Metal-Network:
value:
type: IP_VC
@@ -11471,73 +11684,114 @@ components:
createdByFullName: test
createdByEmail: test@equinix.com
createdDateTime: 2022-05-12T17:53:45.401Z
- AsideServiceToken2PortResponseWithDot1q:
+ Fcr2Sp-marketplaceSubscription-Response:
value:
- href: http://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d
- type: EVPL_VC
- uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
- name: a-token qinq-dot1q
- state: ACTIVE
- operation:
- providerStatus: NOT_AVAILABLE
- equinixStatus: PROVISIONING
- notifications:
- - type: ALL
- emails:
- - test@equinix.com
- account:
- accountNumber: 201246
- orgId: 92610
- globalOrgId: 0017i000011X250AAC
- changeLog:
- createdBy: testuser
- createdDateTime: 2022-05-16T07:50:49.749Z
+ href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1
+ type: IP_VC
+ uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1
+ name: GP_FG2GCP_001
bandwidth: 50
redundancy:
- group: a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ group: 4f786b3f-27d4-48e0-8571-423d085826c1
priority: PRIMARY
- isRemote: true
- direction: OUTGOING
+ order:
+ billingTier: Up to 50 MB
aSide:
- serviceToken:
- uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
accessPoint:
- location:
- metroHref: http://api.equinix.com/fabric/v4/metros/SV
- metroCode: SV
- port:
- href: http://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d
- uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
- name: test-port-name-2
- linkProtocol:
- type: DOT1Q
- vlanTag: 1231
- account:
- accountNumber: 201246
- organizationName: testOrganization
+ type: CLOUD_ROUTER
+ router:
+ href: https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0
+ uuid: 56d267f3-a566-47a8-8cf9-40e6cc925bf0
zSide:
accessPoint:
- location:
- metroHref: https://api.equinix.com/fabric/v4/metros/LD
- region: EMEA
- metroName: London
- metroCode: LD
- port:
- href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d
- uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
- name: test-port-name-1
- linkProtocol:
- type: DOT1Q
- vlanTag: 1321
- account:
- accountNumber: 201246
- organizationName: xxxxx
- order:
- purchaseOrderNumber: "1122334"
- billingTier: Up to 50 MB
- AsideServiceToken2PortResponseWithQinq:
+ type: SP
+ profile:
+ href: https://api.equinix.com/fabric/v4/serviceProfiles/c7922adf-34b5-4d4e-a87c-cae8c899ef90
+ uuid: c7922adf-34b5-4d4e-a87c-cae8c899ef90
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
+ operation:
+ equinixStatus: PROVISIONING
+ providerStatus: PROVISIONING
+ notifications:
+ - type: ALL
+ emails:
+ - test@equinix.com
+ - test1@equinix.com
+ changeLog:
+ createdBy: test
+ createdByFullName: test
+ createdByEmail: test@equinix.com
+ createdDateTime: 2022-05-12T17:53:45.401Z
+ AsideServiceToken2PortResponseWithDot1q:
value:
- href: https://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ href: http://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ type: EVPL_VC
+ uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ name: a-token qinq-dot1q
+ state: ACTIVE
+ operation:
+ providerStatus: NOT_AVAILABLE
+ equinixStatus: PROVISIONING
+ notifications:
+ - type: ALL
+ emails:
+ - test@equinix.com
+ account:
+ accountNumber: 201246
+ orgId: 92610
+ globalOrgId: 0017i000011X250AAC
+ changeLog:
+ createdBy: testuser
+ createdDateTime: 2022-05-16T07:50:49.749Z
+ bandwidth: 50
+ redundancy:
+ group: a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ priority: PRIMARY
+ isRemote: true
+ direction: OUTGOING
+ aSide:
+ serviceToken:
+ uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ accessPoint:
+ location:
+ metroHref: http://api.equinix.com/fabric/v4/metros/SV
+ metroCode: SV
+ port:
+ href: http://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ name: test-port-name-2
+ linkProtocol:
+ type: DOT1Q
+ vlanTag: 1231
+ account:
+ accountNumber: 201246
+ organizationName: testOrganization
+ zSide:
+ accessPoint:
+ location:
+ metroHref: https://api.equinix.com/fabric/v4/metros/LD
+ region: EMEA
+ metroName: London
+ metroCode: LD
+ port:
+ href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
+ name: test-port-name-1
+ linkProtocol:
+ type: DOT1Q
+ vlanTag: 1321
+ account:
+ accountNumber: 201246
+ organizationName: xxxxx
+ order:
+ purchaseOrderNumber: "1122334"
+ billingTier: Up to 50 MB
+ AsideServiceToken2PortResponseWithQinq:
+ value:
+ href: https://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d
type: EVPL_VC
uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d
name: a-token qinq-dot1q
@@ -13834,6 +14088,9 @@ components:
Connection_Provider_Status_Request:
value:
type: CONNECTION_PROVIDER_STATUS_REQUEST
+ Connection_Provider_Bandwidth_Request:
+ value:
+ type: CONNECTION_PROVIDER_BANDWIDTH_REQUEST
AcceptZSide_NetworkEdge_Request:
value:
type: CONNECTION_CREATION_ACCEPTANCE
@@ -13867,6 +14124,16 @@ components:
changeLog:
createdDateTime: 2020-04-21T10:30:00Z
updatedDateTime: 2020-05-21T10:30:00Z
+ Connection_Provider_Bandwidth_Response:
+ value:
+ href: https://api.equinix.com/fabric/v4/connections/9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81/actions/37c10edc-ba2e-4240-a850-8a48f9c47d00
+ type: CONNECTION_PROVIDER_BANDWIDTH_REQUEST
+ uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62
+ data:
+ providerBandwidth: 500
+ changeLog:
+ createdDateTime: 2020-04-21T10:30:00Z
+ updatedDateTime: 2020-05-21T10:30:00Z
RoutingProtocolGetAll:
value:
pagination:
@@ -13892,13 +14159,16 @@ components:
updatedDateTime: 2021-10-30T07:21:39Z
type: BGP
bgpIpv4:
- customerPeerIp: 10.1.1.3
+ customerPeerIp: 192.168.100.2
enabled: true
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
operation:
operationalStatus: UNKNOWN
customerAsn: 10000
equinixAsn: 10001
+ asOverrideEnabled: true
- href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
state: PROVISIONING
@@ -13989,10 +14259,13 @@ components:
customerPeerIp: 10.1.1.3
enabled: true
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
operation:
operationalStatus: UNKNOWN
customerAsn: 10000
equinixAsn: 10001
+ asOverrideEnabled: true
RoutingProtocolCreateDirectResponse:
value:
href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4
@@ -14030,12 +14303,17 @@ components:
customerPeerIp: 10.1.1.2
equinixPeerIp: 192.168.100.1
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
bgpIpv6:
- customerPeerIp: 2001:db8:c59b::1
+ customerPeerIp: 2001:db8:c59b::2
equinixPeerIp: 2001:db8:c59b::1
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
customerAsn: 0
equinixAsn: 0
+ asOverrideEnabled: true
bgpAuthKey: string
bfd:
enabled: true
@@ -14045,16 +14323,21 @@ components:
data:
- type: BGP
bgpIpv4:
- customerPeerIp: 10.1.1.2
+ customerPeerIp: 192.168.100.2
equinixPeerIp: 192.168.100.1
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
bgpIpv6:
- customerPeerIp: 2001:db8:c59b::1
+ customerPeerIp: 2001:db8:c59b::2
equinixPeerIp: 2001:db8:c59b::1
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
customerAsn: 0
equinixAsn: 0
bgpAuthKey: string
+ asOverrideEnabled: true
bfd:
enabled: true
interval: 100
@@ -14063,7 +14346,7 @@ components:
directIpv4:
equinixIfaceIp: 192.168.100.1/30
directIpv6:
- equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126
+ equinixIfaceIp: 2001:db8:c59b::1/125
"400_routing_protocol":
value:
- errorCode: EQ-3041022
@@ -14125,16 +14408,19 @@ components:
value:
type: BGP
bgpIpv4:
- customerPeerIp: 10.1.1.2
+ customerPeerIp: 192.168.100.2
equinixPeerIp: 192.168.100.1
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
bgpIpv6:
- customerPeerIp: 2001:db8:c59b::1
+ customerPeerIp: 2001:db8:c59b::2
equinixPeerIp: 2001:db8:c59b::1
outboundASPrependCount: 3
customerAsn: 0
equinixAsn: 0
bgpAuthKey: string
+ asOverrideEnabled: true
bfd:
enabled: true
interval: 100
@@ -14161,10 +14447,13 @@ components:
customerPeerIp: 10.1.1.3
enabled: true
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
operation:
operationalStatus: UNKNOWN
customerAsn: 10000
equinixAsn: 10001
+ asOverrideEnabled: true
RoutingProtocolReplaceDirectResponse:
value:
href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4
@@ -14234,11 +14523,14 @@ components:
customerPeerIp: 10.1.1.3
enabled: true
outboundASPrependCount: 3
+ inboundMED: 1000
+ outboundMED: 2000
operation:
operationalStatus: UP
opStatusChangedAt: 2021-10-30T07:21:39Z
customerAsn: 10000
equinixAsn: 10001
+ asOverrideEnabled: true
PatchRoutingProtocolEnableIPv4:
value:
- op: replace
@@ -17572,6 +17864,8 @@ components:
organizationName: Cust_Org_100179
changeLog:
createdDateTime: 2020-06-14T17:21:25.586Z
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
COLOSinglePortNonLag:
value:
type: XF_PORT
@@ -17587,6 +17881,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
notifications:
@@ -17628,6 +17924,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
notifications:
@@ -17669,6 +17967,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
notifications:
@@ -17777,6 +18077,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
notifications:
@@ -17815,6 +18117,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
notifications:
@@ -17851,6 +18155,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
order:
@@ -17943,6 +18249,8 @@ components:
encapsulation:
type: DOT1Q
tagProtocolId: 33024
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: "270848"
notifications:
@@ -17985,8 +18293,7 @@ components:
sharedPortType: "false,"
packageType: STANDARD
project:
- href: https://api.equinix.com/resourceManager/v1/projects/567
- projectId: 567
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
account:
accountNumber: 1000
order:
@@ -18244,6 +18551,8 @@ components:
settings:
sharedPortType: false
packageType: STANDARD
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
notifications:
- type: TECHNICAL
registeredUsers:
@@ -18272,6 +18581,8 @@ components:
group: a6f77b33-96c6-4eeb-8d79-76374d950603
priority: SECONDARY
lagEnabled: false
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
settings:
sharedPortType: false
packageType: STANDARD
@@ -18309,6 +18620,10 @@ components:
firstName: John
lastName: Doe
email: john.doe@company.com
+ notifications:
+ - registeredUsers:
+ - jaguarsuser-port-order
+ type: NOTIFICATION
- type: XF_PHYSICAL_PORT
account:
accountNumber: 17829
@@ -18333,6 +18648,10 @@ components:
firstName: John
lastName: Doe
email: john.doe@company.com
+ notifications:
+ - registeredUsers:
+ - jaguarsuser-port-order
+ type: NOTIFICATION
REMOTEAddToLag:
value:
data:
@@ -18412,6 +18731,10 @@ components:
ibx: GV1
order:
orderNumber: 1-210210611904
+ notifications:
+ - registeredUsers:
+ - jaguarsuser-port-order
+ type: NOTIFICATION
- type: XF_PHYSICAL_PORT
demarcationPoint:
cabinetUniqueSpaceId: Demarc
@@ -18423,6 +18746,10 @@ components:
ibx: GV1
order:
orderNumber: 1-210210611904
+ notifications:
+ - registeredUsers:
+ - jaguarsuser-port-order
+ type: NOTIFICATION
portByUUID:
value:
href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d
@@ -18499,6 +18826,8 @@ components:
organizationName: Cust_Org_100179
changeLog:
createdDateTime: 2018-06-14T17:21:25.587Z
+ project:
+ projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931
portDelete:
value:
href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d
@@ -19514,6 +19843,22 @@ components:
accountNumber: 272010
project:
projectId: "995072000433550"
+ CreateWithMarketplaceSubscription:
+ value:
+ type: XF_ROUTER
+ name: My-Cloud-Router
+ location:
+ metroCode: SV
+ package:
+ code: ADVANCED
+ notifications:
+ - type: ALL
+ emails:
+ - test@test.com
+ project:
+ projectId: ae708bbb-d669-406a-845a-99b39ff65fd0
+ marketplaceSubscription:
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
CloudRouterPostResponseExample:
value:
href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d
@@ -19544,6 +19889,36 @@ components:
createdByFullName: abc
createdByEmail: abc@xyz.com
createdDateTime: 2021-09-24T06:59:46Z
+ CloudRouterPostResponseMarketplaceExample:
+ value:
+ href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d
+ uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d
+ state: PROVISIONED
+ type: XF_ROUTER
+ name: My-Cloud-Router
+ location:
+ metroCode: HH
+ equinixAsn: 30000
+ package:
+ code: STANDARD
+ project:
+ projectId: ae708bbb-d669-406a-845a-99b39ff65fd0
+ notifications:
+ - type: ALL
+ emails:
+ - abc@abc.com
+ bgpIpv4RoutesCount: 0
+ bgpIpv6RoutesCount: 0
+ connectionsCount: 0
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
+ changeLog:
+ createdBy: abc@xyz.com
+ createdByFullName: abc
+ createdByEmail: abc@xyz.com
+ createdDateTime: 2021-09-24T06:59:46Z
"400_invalid_package":
value:
- errorCode: EQ-3040028
@@ -19590,6 +19965,42 @@ components:
deletedByFullName: abc
deletedByEmail: abc@xyz.com
deletedDateTime: 2021-09-24T06:59:46Z
+ CloudRouterResponseExampleMarketplace:
+ value:
+ href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d
+ uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d
+ state: PROVISIONED
+ type: XF_ROUTER
+ name: My-Cloud-Router
+ location:
+ metroCode: HH
+ equinixAsn: 30000
+ package:
+ code: STANDARD
+ project:
+ projectId: ae708bbb-d669-406a-845a-99b39ff65fd0
+ notifications:
+ - type: ALL
+ emails:
+ - abc@abc.com
+ bgpIpv4RoutesCount: 4
+ bgpIpv6RoutesCount: 4
+ distinctIpv4PrefixesCount: 2
+ distinctIpv6PrefixesCount: 2
+ connectionsCount: 0
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
+ changeLog:
+ createdBy: abc@xyz.com
+ createdByFullName: abc
+ createdByEmail: abc@xyz.com
+ createdDateTime: 2021-09-24T06:59:46Z
+ updatedBy: abc@xyz.com
+ updatedByFullName: abc
+ updatedByEmail: abc@xyz.com
+ updatedDateTime: 2021-09-24T06:59:46Z
"400_invalid_state":
value:
- errorCode: EQ-3040030
@@ -21058,12 +21469,17 @@ components:
- errorCode: EQ-4800114
errorMessage: "Only HEX allowed, chars value length should between 10 - 40"
correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515
- edit:
+ editName:
value:
- op: replace
path: /name
value: EPT-Single-Service
- ntpSingleStandard:
+ editPackageCode:
+ value:
+ - op: replace
+ path: /package/code
+ value: NTP_ENTERPRISE
+ ntpStandard:
value:
name: EPT-Single-Service
type: NTP
@@ -21076,7 +21492,7 @@ components:
secondary: 192.168.0.3
networkMask: 255.255.255.255
defaultGateway: 192.167.0.1
- ptpSingleStandard:
+ ptpStandard:
value:
name: EPT-Single-Service
type: PTP
@@ -21089,14 +21505,14 @@ components:
secondary: 192.168.0.3
networkMask: 255.255.255.255
defaultGateway: 192.167.0.1
- ptpSingleEnterpriseWithAdvanceConfiguration:
+ ptpEnterpriseWithAdvanceConfiguration:
value:
name: EPT-Single-Service
type: PTP
connections:
- uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0
package:
- code: PTP_STANDARD
+ code: PTP_ENTERPRISE
ipv4:
primary: 192.168.0.2
secondary: 192.168.0.3
@@ -21111,6 +21527,115 @@ components:
logAnnounceInterval: 0
logSyncInterval: 0
logDelayReqInterval: 0
+ ntpEnterpriseWithAdvanceConfiguration:
+ value:
+ name: EPT-Single-Service
+ type: NTP
+ connections:
+ - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0
+ package:
+ code: NTP_ENTERPRISE
+ ipv4:
+ primary: 192.168.0.2
+ secondary: 192.168.0.3
+ networkMask: 255.255.255.255
+ defaultGateway: 192.167.0.1
+ advanceConfiguration:
+ ntp:
+ - type: ASCII
+ id: 12345
+ password: MTIzNDU2Nzg5MA
+ SearchTimeServicesFilterByStatus:
+ value:
+ filter:
+ and:
+ - property: /state
+ operator: =
+ values:
+ - PROVISIONED
+ - property: /project/projectId
+ operator: =
+ values:
+ - "995072000433550"
+ pagination:
+ offset: 0
+ limit: 20
+ sort:
+ - direction: DESC
+ property: /changeLog/createdDateTime
+ SearchTimeServicesByNameAndProtocol:
+ value:
+ filter:
+ and:
+ - property: /name
+ operator: =
+ values:
+ - test-time-service
+ - property: /type
+ operator: =
+ values:
+ - NTP
+ - property: /project/projectId
+ operator: =
+ values:
+ - "995072000433550"
+ pagination:
+ offset: 0
+ limit: 20
+ sort:
+ - direction: DESC
+ property: /changeLog/createdDateTime
+ SearchTimeServicesFilterOrAnd:
+ value:
+ filter:
+ and:
+ - or:
+ - property: /uuid
+ operator: LIKE
+ values:
+ - 676a0c3f-a785-4294-87bc-25fe9318a620%
+ - property: /name
+ operator: LIKE
+ values:
+ - test-time-service
+ - property: /project/projectId
+ operator: =
+ values:
+ - "995072000433550"
+ serviceSearchResponse:
+ value:
+ pagination:
+ offset: 20
+ limit: 20
+ total: 100
+ next: /search?offset=40&limit=20
+ previous: /search?offset=0&limit=20
+ data:
+ - href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d
+ uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011
+ name: EPT-NTP-STD-Service
+ type: NTP
+ state: PROVISIONING
+ connections:
+ - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011
+ uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0
+ package:
+ href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD
+ code: NTP_STANDARD
+ ipv4:
+ primary: 192.168.0.2
+ secondary: 192.168.0.3
+ networkMask: 255.255.255.255
+ defaultGateway: 192.167.0.1
+ account:
+ accountNumber: 123456
+ service_400_invalid_sorting:
+ value:
+ - errorCode: EQ-3040039
+ errorMessage: Invalid value for sorting direction.
+ correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515
+ additionalInfo:
+ - reason: Only accept DESC and ASC for sorting direction.
serviceConnectionsResponse:
value:
pagination:
@@ -21203,7 +21728,111 @@ components:
changeLog:
createdDateTime: 2023-05-16T07:50:49.749Z
updatedDateTime: 2023-05-17T07:50:49.749Z
- get-all-example:
+ subscription-response:
+ value:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/c5557b51-7938-4f7d-afaa-41b930903a5e
+ uuid: c5557b51-7938-4f7d-afaa-41b930903a5e
+ state: ACTIVE
+ marketplace: AWS
+ offerType: PRIVATE_OFFER
+ isAutoRenew: false
+ offerId: offer id
+ trial:
+ enabled: true
+ expiryDateTime: 2020-05-21T10:30:00Z
+ entitlements:
+ - uuid: a15b6b20-b765-4bf7-a661-a3e9372d5435
+ name: FCR Standard
+ quantityEntitled: 1
+ quantityConsumed: 0
+ asset:
+ type: XF_ROUTER
+ package:
+ code: STANDARD
+ - uuid: 2e3a9041-19ce-4c80-add3-3e3a069fc5e9
+ name: Connection 500 Mbps
+ quantityEntitled: 1
+ quantityConsumed: 0
+ quantityAvailable: 1
+ asset:
+ type: IP_VC
+ bandwidth: 500
+ changeLog:
+ createdBy: adminuser
+ createdDateTime: 2020-05-21T10:30:00Z
+ updatedBy: adminuser
+ updatedDateTime: 2020-05-21T10:30:00Z
+ StreamResponseExample:
+ value:
+ uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
+ href: https://api.equinix.com/fabric/v4/streams/d684aa26-8276-48b7-bb42-a6d9def0a418
+ type: STREAM_SUBSCRIPTION
+ name: splunk1
+ description: subscription 1
+ enabled: true
+ state: PROVISIONED
+ project:
+ projectId: 123456
+ changelog:
+ createdDateTime: 2024-05-06T16:21:18.545214Z
+ StreamPostRequestExample:
+ value:
+ type: STREAM_SUBSCRIPTION
+ name: splunk1
+ description: subscription 1
+ StreamPutRequestExample:
+ value:
+ name: splunk1
+ description: subscription 1
+ stream:
+ uuid: 36276e58-b5a1-4864-ab5e-be10dff9eac1
+ StreamAssetSearchRequestExample:
+ value:
+ filter:
+ and:
+ - property: /streamUuid
+ operator: =
+ values:
+ - e684aa26-8276-48b7-bb42-a6d9def0a419
+ pagination:
+ offset: 0
+ limit: 20
+ sort:
+ - direction: DESC
+ property: /changeLog/createdDateTime
+ stream-asset-get-all-example:
+ value:
+ pagination:
+ offset: 0
+ limit: 20
+ total: 1
+ data:
+ - uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
+ href: https://api.equinix.com/fabric/v4/ports/e684aa26-8276-48b7-bb42-a6d9def0a419
+ metricsEnabled: true
+ attachmentStatus: ATTACHED
+ StreamRouterAssetResponseExample:
+ value:
+ uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
+ href: https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/routers/d684aa26-8276-48b7-bb42-a6d9def0a418
+ metricsEnabled: true
+ attachmentStatus: ATTACHED
+ StreamAssetPutRequestExample:
+ value:
+ metricsEnabled: true
+ StreamConnectionAssetResponseExample:
+ value:
+ uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
+ href: https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/connections/d684aa26-8276-48b7-bb42-a6d9def0a418
+ metricsEnabled: true
+ attachmentStatus: ATTACHED
+ StreamPortAssetResponseExample:
+ value:
+ uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
+ href: https://api.equinix.com/fabric/v4/stream/e684aa26-8276-48b7-bb42-a6d9def0a419/ports/d684aa26-8276-48b7-bb42-a6d9def0a418
+ metricsEnabled: true
+ attachmentStatus: ATTACHED
+ stream-subscription-get-all-example:
value:
pagination:
offset: 0
@@ -21211,11 +21840,12 @@ components:
total: 1
data:
- uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
- href: https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418
- type: CLOUDEVENT_SUBSCRIPTION
- name: slack1
+ href: https://api.equinix.com/fabric/v4/streamSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418
+ type: STREAM_SUBSCRIPTION
+ name: splunk
description: subscription 1
enabled: true
+ state: PROVISIONED
filters:
and:
- path: subject
@@ -21230,87 +21860,91 @@ components:
or: []
sink:
uri: https://xxxxxx
- type: SLACK
- batch: false
- maxBatchSize: 50
- maxBatchWaitTime: 5
+ type: SPLUNK_HEC
+ batchEnabled: false
+ batchSizeMax: 50
+ batchWaitTimeMax: 5
changelog:
createdDateTime: 2024-05-06T16:21:18.545214Z
- CloudeventSubscriptionPostRequestExample:
+ StreamSubscriptionPostRequestExample:
value:
- type: CLOUDEVENT_SUBSCRIPTION
- name: slack1
+ type: STREAM_SUBSCRIPTION
+ name: splunk1
description: subscription 1
enabled: true
+ stream:
+ uuid: 36276e58-b5a1-4864-ab5e-be10dff9eac1
+ project:
+ projectId: 123456
filters:
and:
- - path: subject
+ - path: type
operator: LIKE
values:
- - '%36276e58-b5a1-4864-ab5e-be10dff9eac1%'
- or: []
- - path: equinixproject
- operator: IN
- values:
- - "197607000886247"
+ - '%com.equinix.event.fabric.connection%'
or: []
sink:
uri: https://xxxxxx
- type: SLACK
- batch: false
- maxBatchSize: 50
- maxBatchWaitTime: 5
- CloudeventSubscriptionResponseExample:
+ type: SPLUNK_HEC
+ credential:
+ type: ACCESS_TOKEN
+ accessToken: my-access-token
+ batchEnabled: false
+ batchSizeMax: 50
+ batchWaitTimeMax: 5
+ StreamSubscriptionResponseExample:
value:
uuid: d684aa26-8276-48b7-bb42-a6d9def0a418
- href: https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418
- type: CLOUDEVENT_SUBSCRIPTION
- name: slack1
- description: subscription 1
- enabled: true
+ href: https://api.equinix.com/fabric/v4/streamSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418
+ type: TELEMETRY_STREAM
+ name: stream 1
+ description: stream dec 1
+ project:
+ projectId: 1234546
+ state: PROVISIONED
+ assetCount: 1
+ streamSubscriptionCount: 2
filters:
and:
- - path: subject
+ - path: type
operator: LIKE
values:
- - '%36276e58-b5a1-4864-ab5e-be10dff9eac1%'
- or: []
- - path: equinixproject
- operator: IN
- values:
- - "197607000886247"
+ - '%com.equinix.event.fabric.connection%'
or: []
sink:
uri: https://xxxxxx
- type: SLACK
- batch: false
- maxBatchSize: 50
- maxBatchWaitTime: 5
+ type: SPLUNK_HEC
+ credential:
+ type: ACCESS_TOKEN
+ accessToken: my-access-token
+ batchEnabled: false
+ batchSizeMax: 50
+ batchWaitTimeMax: 5
changelog:
createdDateTime: 2024-05-06T16:21:18.545214Z
- CloudeventSubscriptionPutRequestExample:
+ StreamSubscriptionPutRequestExample:
value:
- name: slack1
+ name: splunk1
description: subscription 1
enabled: true
+ stream:
+ uuid: 36276e58-b5a1-4864-ab5e-be10dff9eac1
filters:
and:
- - path: subject
+ - path: type
operator: LIKE
values:
- - '%36276e58-b5a1-4864-ab5e-be10dff9eac1%'
- or: []
- - path: equinixproject
- operator: IN
- values:
- - "197607000886247"
+ - '%equinix.event.fabric.connection%'
or: []
sink:
uri: https://xxxxxx
- type: SLACK
- batch: false
- maxBatchSize: 50
- maxBatchWaitTime: 5
+ type: SPLUNK_HEC
+ credential:
+ type: ACCESS_TOKEN
+ accessToken: my-access-token
+ batchEnabled: false
+ batchSizeMax: 50
+ batchWaitTimeMax: 5
headers:
ETag:
description: response header - identifier for a specific version of a resource.
@@ -21649,7 +22283,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -21661,8 +22294,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -21676,11 +22307,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -21794,7 +22432,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -21863,7 +22511,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -21952,6 +22610,10 @@ components:
priority: null
group: group
type: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -22301,7 +22963,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -22313,8 +22974,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -22328,11 +22987,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -22446,7 +23112,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -22515,7 +23191,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -22625,6 +23311,8 @@ components:
items:
$ref: '#/components/schemas/ConnectionSideAdditionalInfo'
type: array
+ marketplaceSubscription:
+ $ref: '#/components/schemas/marketplaceSubscription'
required:
- aSide
- bandwidth
@@ -22963,7 +23651,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -22975,8 +23662,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -22990,11 +23675,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -23108,7 +23800,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -23177,7 +23879,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -23609,7 +24321,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -23621,8 +24332,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -23636,11 +24345,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -23754,7 +24470,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -23823,7 +24549,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -23937,6 +24673,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -24027,6 +24767,8 @@ components:
$ref: '#/components/schemas/ConnectionSide'
zSide:
$ref: '#/components/schemas/ConnectionSide'
+ marketplaceSubscription:
+ $ref: '#/components/schemas/marketplaceSubscription'
additionalInfo:
description: Connection additional information
items:
@@ -24070,6 +24812,7 @@ components:
description: Connection action request
example:
data:
+ providerBandwidth: 0
zSide:
internetAccess:
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
@@ -24396,7 +25139,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -24408,8 +25150,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -24423,11 +25163,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -24541,7 +25288,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -24610,7 +25367,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -24703,6 +25470,7 @@ components:
description: Connection action
example:
data:
+ providerBandwidth: 0
zSide:
internetAccess:
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
@@ -25029,7 +25797,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -25041,8 +25808,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -25056,11 +25821,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -25174,7 +25946,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -25243,7 +26025,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -25419,6 +26211,9 @@ components:
bgpAuthKey:
description: BGP authorization key
type: string
+ asOverrideEnabled:
+ description: Enable AS number override
+ type: boolean
bfd:
$ref: '#/components/schemas/RoutingProtocolBFD'
required:
@@ -26159,7 +26954,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -26171,8 +26965,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -26186,11 +26978,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -26304,7 +27103,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -26373,7 +27182,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -26805,7 +27624,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -26817,8 +27635,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -26832,11 +27648,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -26950,7 +27773,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -27019,7 +27852,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -27133,6 +27976,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -27497,7 +28344,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -27509,8 +28355,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -27524,11 +28368,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -27642,7 +28493,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -27711,7 +28572,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -28143,7 +29014,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -28155,8 +29025,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -28170,11 +29038,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -28288,7 +29163,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -28357,7 +29242,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -28471,6 +29366,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -30680,6 +31579,7 @@ components:
group: group
demarcationPointIbx: demarcationPointIbx
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -30772,7 +31672,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -30841,7 +31751,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -30958,6 +31878,7 @@ components:
group: group
demarcationPointIbx: demarcationPointIbx
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31050,7 +31971,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31119,7 +32050,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31248,6 +32189,7 @@ components:
group: group
demarcationPointIbx: demarcationPointIbx
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31340,7 +32282,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31409,7 +32361,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31686,7 +32648,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31730,6 +32702,11 @@ components:
$ref: '#/components/schemas/PortTether'
demarcationPoint:
$ref: '#/components/schemas/PortDemarcationPoint'
+ notifications:
+ description: Notification preferences
+ items:
+ $ref: '#/components/schemas/PortNotification'
+ type: array
additionalInfo:
description: Physical Port additional information
items:
@@ -31794,6 +32771,7 @@ components:
group: group
demarcationPointIbx: demarcationPointIbx
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31886,7 +32864,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -31955,7 +32943,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32072,6 +33070,7 @@ components:
group: group
demarcationPointIbx: demarcationPointIbx
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32164,7 +33163,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32233,7 +33242,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32367,7 +33386,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32436,7 +33465,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32522,7 +33561,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -32591,7 +33640,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -33578,6 +34637,10 @@ components:
href: href
region: "AMER, APAC, EMEA"
type: XF_ROUTER
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
account:
resellerOrgId: 5
organizationName: organizationName
@@ -33638,6 +34701,8 @@ components:
items:
$ref: '#/components/schemas/SimplifiedNotification'
type: array
+ marketplaceSubscription:
+ $ref: '#/components/schemas/marketplaceSubscription'
type: object
CloudRouter:
allOf:
@@ -33646,7 +34711,6 @@ components:
example:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -33658,8 +34722,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -33673,11 +34735,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
properties:
href:
description: Cloud Routers URI
@@ -33722,6 +34791,8 @@ components:
description: Number of distinct ipv6 routes
minimum: 0
type: integer
+ marketplaceSubscription:
+ $ref: '#/components/schemas/marketplaceSubscription'
changeLog:
$ref: '#/components/schemas/Changelog'
change:
@@ -34158,7 +35229,6 @@ components:
data:
- bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -34170,8 +35240,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -34185,14 +35253,20 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
- bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -34204,8 +35278,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -34219,11 +35291,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
properties:
pagination:
$ref: '#/components/schemas/Pagination'
@@ -34755,7 +35834,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -34767,8 +35845,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -34782,11 +35858,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -34900,7 +35983,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -34969,7 +36062,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -35401,7 +36504,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -35413,8 +36515,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -35428,11 +36528,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -35546,7 +36653,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -35615,7 +36732,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -35729,6 +36856,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -36093,7 +37224,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -36105,8 +37235,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -36120,11 +37248,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -36238,7 +37373,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -36307,7 +37452,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -36739,7 +37894,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -36751,8 +37905,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -36766,11 +37918,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -36884,7 +38043,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -36953,7 +38122,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -37067,6 +38246,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -37724,7 +38907,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -37736,8 +38918,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -37751,11 +38931,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -37869,7 +39056,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -37938,7 +39135,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -38370,7 +39577,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -38382,8 +39588,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -38397,11 +39601,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -38515,7 +39726,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -38584,7 +39805,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -38698,6 +39929,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -39062,7 +40297,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -39074,8 +40308,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -39089,11 +40321,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -39207,7 +40446,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -39276,7 +40525,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -39708,7 +40967,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -39720,8 +40978,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -39735,11 +40991,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -39853,7 +41116,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -39922,7 +41195,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -40036,6 +41319,10 @@ components:
correlationId: correlationId
details: details
providerStatus: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
notifications:
- emails:
- emails
@@ -40188,10 +41475,10 @@ components:
advanceConfiguration:
ntp:
- password: password
- id: id
+ id: 0
type: ASCII
- password: password
- id: id
+ id: 0
type: ASCII
ptp:
timeScale: ARB
@@ -40302,17 +41589,12 @@ components:
description: Handy shortcut for operation name
enum:
- replace
- - add
- - remove
type: string
path:
description: path inside document leading to updated parameter
enum:
- - /ipv4
- /name
- - /advanceConfiguration/ntp
- - /advanceConfiguration/ptp
- - /package
+ - /package/code
type: string
value:
description: new value for updated parameter
@@ -40355,6 +41637,255 @@ components:
- type
title: precisionTimeServiceRequest
type: object
+ TimeServicesSearchRequest:
+ description: Search requests containing criteria
+ example:
+ filter:
+ and:
+ - null
+ - null
+ - null
+ - null
+ - null
+ pagination:
+ offset: 0
+ limit: 1
+ sort:
+ - property: null
+ direction: null
+ - property: null
+ direction: null
+ properties:
+ filter:
+ $ref: '#/components/schemas/TimeServiceFilters'
+ pagination:
+ $ref: '#/components/schemas/PaginationRequest'
+ sort:
+ items:
+ $ref: '#/components/schemas/TimeServiceSortCriteria'
+ type: array
+ type: object
+ TimeServiceFilters:
+ example:
+ and:
+ - null
+ - null
+ - null
+ - null
+ - null
+ properties:
+ and:
+ items:
+ $ref: '#/components/schemas/TimeServiceFilter'
+ maxItems: 8
+ type: array
+ type: object
+ TimeServiceFilter:
+ anyOf:
+ - $ref: '#/components/schemas/TimeServiceSimpleExpression'
+ - $ref: '#/components/schemas/TimeServiceOrFilter'
+ type: object
+ TimeServiceSimpleExpression:
+ properties:
+ property:
+ description: |
+ Possible field names to use on filters:
+ * `/project/projectId` - project id (mandatory)
+ * `/name` - Precision Time Service name
+ * `/uuid` - Precision Time Service uuid
+ * `/type` - Precision Time Service protocol
+ * `/state` - Precision Time Service status
+ * `/account/accountNumber` - Precision Time Service account number
+ * `/package/code` - Precision Time Service package
+ * `/*` - all-category search
+ example: /name
+ type: string
+ operator:
+ description: |
+ Possible operators to use on filters:
+ * `=` - equal
+ * `!=` - not equal
+ * `[NOT] BETWEEN` - (not) between
+ * `[NOT] LIKE` - (not) like
+ * `[NOT] IN` - (not) in
+ * `ILIKE` - case-insensitive like
+ example: =
+ type: string
+ values:
+ items:
+ example: FabricPrecisionTimeService-1
+ type: string
+ type: array
+ type: object
+ TimeServiceOrFilter:
+ properties:
+ or:
+ items:
+ $ref: '#/components/schemas/TimeServiceSimpleExpression'
+ maxItems: 3
+ type: array
+ type: object
+ TimeServiceSortCriteria:
+ example:
+ property: null
+ direction: null
+ properties:
+ direction:
+ $ref: '#/components/schemas/TimeServiceSortDirection'
+ property:
+ $ref: '#/components/schemas/TimeServiceSortBy'
+ type: object
+ TimeServiceSortDirection:
+ default: DESC
+ description: Sorting direction
+ enum:
+ - DESC
+ - ASC
+ type: string
+ TimeServiceSortBy:
+ default: /changeLog/updatedDateTime
+ description: Possible field names to use on sorting
+ enum:
+ - /name
+ - /uuid
+ - /state
+ - /type
+ - /package/code
+ - /changeLog/createdDateTime
+ - /changeLog/updatedDateTime
+ type: string
+ ServiceSearchResponse:
+ example:
+ pagination:
+ next: next
+ total: 0
+ offset: 0
+ previous: previous
+ limit: 0
+ data:
+ - advanceConfiguration:
+ ntp:
+ - password: password
+ id: 0
+ type: ASCII
+ - password: password
+ id: 0
+ type: ASCII
+ ptp:
+ timeScale: ARB
+ grantTime: 300
+ logDelayReqInterval: 0
+ domain: 0
+ logSyncInterval: 0
+ priority2: 0
+ transportMode: Multicast
+ priority1: 0
+ logAnnounceInterval: 0
+ package:
+ href: https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD
+ code: NTP_STANDARD
+ type: TIME_SERVICE_PACKAGE
+ bandwidth: 10
+ accuracyUnit: microseconds
+ accuracySla: 50
+ accuracyAvgMin: 1
+ accuracyAvgMax: 10
+ clientsPerSecondMax: 100
+ redundancySupported: true
+ multiSubnetSupported: true
+ changeLog:
+ createdDateTime: 2023-05-16T07:50:49.749Z
+ updatedDateTime: 2023-05-17T07:50:49.749Z
+ description: description
+ project:
+ projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5
+ type: NTP
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ ipv4:
+ primary: 10.0.0.1
+ secondary: 10.0.0.2
+ networkMask: 255.255.255.240
+ defaultGateway: 10.0.0.3
+ name: name
+ href: https://openapi-generator.tech
+ state: PROVISIONED
+ connections:
+ - uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f
+ - uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f
+ account:
+ accountNumber: 123456
+ order:
+ orderNumber: orderNumber
+ customerReferenceNumber: customerReferenceNumber
+ orderId: orderId
+ purchaseOrderNumber: purchaseOrderNumber
+ billingTier: billingTier
+ - advanceConfiguration:
+ ntp:
+ - password: password
+ id: 0
+ type: ASCII
+ - password: password
+ id: 0
+ type: ASCII
+ ptp:
+ timeScale: ARB
+ grantTime: 300
+ logDelayReqInterval: 0
+ domain: 0
+ logSyncInterval: 0
+ priority2: 0
+ transportMode: Multicast
+ priority1: 0
+ logAnnounceInterval: 0
+ package:
+ href: https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD
+ code: NTP_STANDARD
+ type: TIME_SERVICE_PACKAGE
+ bandwidth: 10
+ accuracyUnit: microseconds
+ accuracySla: 50
+ accuracyAvgMin: 1
+ accuracyAvgMax: 10
+ clientsPerSecondMax: 100
+ redundancySupported: true
+ multiSubnetSupported: true
+ changeLog:
+ createdDateTime: 2023-05-16T07:50:49.749Z
+ updatedDateTime: 2023-05-17T07:50:49.749Z
+ description: description
+ project:
+ projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5
+ type: NTP
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ ipv4:
+ primary: 10.0.0.1
+ secondary: 10.0.0.2
+ networkMask: 255.255.255.240
+ defaultGateway: 10.0.0.3
+ name: name
+ href: https://openapi-generator.tech
+ state: PROVISIONED
+ connections:
+ - uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f
+ - uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f
+ account:
+ accountNumber: 123456
+ order:
+ orderNumber: orderNumber
+ customerReferenceNumber: customerReferenceNumber
+ orderId: orderId
+ purchaseOrderNumber: purchaseOrderNumber
+ billingTier: billingTier
+ properties:
+ pagination:
+ $ref: '#/components/schemas/Pagination'
+ data:
+ description: Data returned from the API call.
+ items:
+ $ref: '#/components/schemas/precisionTimeServiceResponse'
+ type: array
+ type: object
precisionTimeServiceConnectionsResponse:
description: EPT service instance's L2 connections
example:
@@ -40491,6 +42022,175 @@ components:
- code
title: precisionTimePackageRespose
type: object
+ SubscriptionId:
+ description: Subscription Id
+ example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4
+ format: uuid
+ type: string
+ SubscriptionResponse:
+ description: Subscription
+ example:
+ isAutoRenew: true
+ entitlements:
+ - quantityAvailable: 0
+ quantityEntitled: 0
+ quantityConsumed: 0
+ asset:
+ package:
+ code: ADVANCED
+ bandwidth: 5
+ type: null
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ - quantityAvailable: 0
+ quantityEntitled: 0
+ quantityConsumed: 0
+ asset:
+ package:
+ code: ADVANCED
+ bandwidth: 5
+ type: null
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ offerType: PUBLIC
+ marketplace: AWS
+ offerId: offerId
+ 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://openapi-generator.tech
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ trial:
+ expiryDateTime: 2000-01-23T04:56:07.000+00:00
+ enabled: true
+ status: null
+ subscriptionKey: subscriptionKey
+ properties:
+ href:
+ format: uri
+ type: string
+ uuid:
+ format: uuid
+ type: string
+ status:
+ $ref: '#/components/schemas/SubscriptionStatus'
+ marketplace:
+ enum:
+ - AWS
+ - GCP
+ - AZURE
+ - REDHAT
+ type: string
+ offerType:
+ enum:
+ - PUBLIC
+ - PRIVATE_OFFER
+ type: string
+ isAutoRenew:
+ example: true
+ type: boolean
+ offerId:
+ type: string
+ trial:
+ $ref: '#/components/schemas/SubscriptionTrial'
+ subscriptionKey:
+ type: string
+ entitlements:
+ items:
+ $ref: '#/components/schemas/SubscriptionEntitlementResponse'
+ type: array
+ changelog:
+ $ref: '#/components/schemas/Changelog'
+ type: object
+ x-preview: false
+ SubscriptionStatus:
+ enum:
+ - ACTIVE
+ - EXPIRED
+ - CANCELLED
+ - GRACE_PERIOD
+ type: string
+ SubscriptionTrial:
+ description: Trial
+ example:
+ expiryDateTime: 2000-01-23T04:56:07.000+00:00
+ enabled: true
+ properties:
+ enabled:
+ type: boolean
+ expiryDateTime:
+ format: date-time
+ type: string
+ type: object
+ SubscriptionEntitlementResponse:
+ description: Subscription entitlement
+ example:
+ quantityAvailable: 0
+ quantityEntitled: 0
+ quantityConsumed: 0
+ asset:
+ package:
+ code: ADVANCED
+ bandwidth: 5
+ type: null
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ properties:
+ uuid:
+ description: Subscription Entitlement Id
+ format: uuid
+ type: string
+ quantityEntitled:
+ minimum: 0
+ type: integer
+ quantityConsumed:
+ minimum: 0
+ type: integer
+ quantityAvailable:
+ minimum: 0
+ type: integer
+ asset:
+ $ref: '#/components/schemas/SubscriptionAsset'
+ type: object
+ SubscriptionAsset:
+ description: Asset information
+ example:
+ package:
+ code: ADVANCED
+ bandwidth: 5
+ type: null
+ properties:
+ type:
+ $ref: '#/components/schemas/SubscriptionAssetType'
+ package:
+ $ref: '#/components/schemas/SubscriptionRouterPackageType'
+ bandwidth:
+ type: integer
+ type: object
+ SubscriptionAssetType:
+ enum:
+ - XF_ROUTER
+ - IP_VC
+ type: string
+ SubscriptionRouterPackageType:
+ description: Cloud Router Package Type
+ example:
+ code: ADVANCED
+ properties:
+ code:
+ description: Cloud Router package code
+ enum:
+ - ADVANCED
+ - STANDARD
+ type: string
+ type: object
ConnectionType:
description: Connection type
enum:
@@ -40909,7 +42609,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -40921,8 +42620,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -40936,11 +42633,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -41054,7 +42758,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -41123,7 +42837,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -41241,6 +42965,30 @@ components:
description: Value
type: string
type: object
+ marketplaceSubscription:
+ description: Equinix Fabric Entity for Marketplace Subscription
+ example:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
+ properties:
+ href:
+ description: Marketplace Subscription URI
+ example: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ format: uri
+ readOnly: true
+ type: string
+ type:
+ description: Marketplace Subscription type
+ enum:
+ - AWS_MARKETPLACE_SUBSCRIPTION
+ example: AWS_MARKETPLACE_SUBSCRIPTION
+ type: string
+ uuid:
+ description: Equinix-assigned Marketplace Subscription identifier
+ example: 20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: string
+ type: object
ConnectionState:
description: Connection status
enum:
@@ -41551,12 +43299,14 @@ components:
- CONNECTION_UPDATE_REQUEST
- MIGRATION_EVPL_VC
- CONNECTION_PROVIDER_STATUS_REQUEST
+ - CONNECTION_PROVIDER_BANDWIDTH_REQUEST
- ACCEPT_HOSTED_CONNECTION
- CANCEL_EVPL_VC_DRAFT_ORDERS
type: string
ConnectionAcceptanceData:
description: Connection acceptance data
example:
+ providerBandwidth: 0
zSide:
internetAccess:
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
@@ -41883,7 +43633,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -41895,8 +43644,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -41910,11 +43657,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -42028,7 +43782,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -42097,7 +43861,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -42176,6 +43950,10 @@ components:
properties:
zSide:
$ref: '#/components/schemas/ConnectionSide'
+ providerBandwidth:
+ description: Authorization key bandwidth in Mbps
+ readOnly: true
+ type: integer
type: object
BGPConnectionIpv4:
properties:
@@ -42195,6 +43973,16 @@ components:
example: 3
format: int64
type: integer
+ inboundMED:
+ description: inbound Multi Exit Discriminator attribute
+ example: 1000
+ format: int64
+ type: integer
+ outboundMED:
+ description: inbound Multi Exit Discriminator attribute
+ example: 2000
+ format: int64
+ type: integer
operation:
$ref: '#/components/schemas/BGPConnectionOperation'
required:
@@ -42219,6 +44007,16 @@ components:
example: 3
format: int64
type: integer
+ inboundMED:
+ description: inbound Multi Exit Discriminator attribute
+ example: 1000
+ format: int64
+ type: integer
+ outboundMED:
+ description: inbound Multi Exit Discriminator attribute
+ example: 2000
+ format: int64
+ type: integer
operation:
$ref: '#/components/schemas/BGPConnectionOperation'
required:
@@ -42279,6 +44077,9 @@ components:
description: BGP authorization key
example: testAuthKey
type: string
+ asOverrideEnabled:
+ description: Enable AS number override
+ type: boolean
bfd:
$ref: '#/components/schemas/RoutingProtocolBFD'
href:
@@ -42791,6 +44592,7 @@ components:
type: string
PortOrder:
example:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -42813,6 +44615,9 @@ components:
orderId:
description: Order Identification
type: string
+ customerReferenceId:
+ description: Customer order reference Id
+ type: string
orderNumber:
description: Order Reference Number
type: string
@@ -43859,10 +45664,10 @@ components:
example:
ntp:
- password: password
- id: id
+ id: 0
type: ASCII
- password: password
- id: id
+ id: 0
type: ASCII
ptp:
timeScale: ARB
@@ -43901,6 +45706,128 @@ components:
- code
title: precisionTimePackageRequest
type: object
+ precisionTimeServiceResponse:
+ description: EPT service instance
+ example:
+ advanceConfiguration:
+ ntp:
+ - password: password
+ id: 0
+ type: ASCII
+ - password: password
+ id: 0
+ type: ASCII
+ ptp:
+ timeScale: ARB
+ grantTime: 300
+ logDelayReqInterval: 0
+ domain: 0
+ logSyncInterval: 0
+ priority2: 0
+ transportMode: Multicast
+ priority1: 0
+ logAnnounceInterval: 0
+ package:
+ href: https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD
+ code: NTP_STANDARD
+ type: TIME_SERVICE_PACKAGE
+ bandwidth: 10
+ accuracyUnit: microseconds
+ accuracySla: 50
+ accuracyAvgMin: 1
+ accuracyAvgMax: 10
+ clientsPerSecondMax: 100
+ redundancySupported: true
+ multiSubnetSupported: true
+ changeLog:
+ createdDateTime: 2023-05-16T07:50:49.749Z
+ updatedDateTime: 2023-05-17T07:50:49.749Z
+ description: description
+ project:
+ projectId: 44f4c4f8-2f39-494e-838c-d8e640591be5
+ type: NTP
+ uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ ipv4:
+ primary: 10.0.0.1
+ secondary: 10.0.0.2
+ networkMask: 255.255.255.240
+ defaultGateway: 10.0.0.3
+ name: name
+ href: https://openapi-generator.tech
+ state: PROVISIONED
+ connections:
+ - uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f
+ - uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f
+ account:
+ accountNumber: 123456
+ order:
+ orderNumber: orderNumber
+ customerReferenceNumber: customerReferenceNumber
+ orderId: orderId
+ purchaseOrderNumber: purchaseOrderNumber
+ billingTier: billingTier
+ properties:
+ type:
+ enum:
+ - NTP
+ - PTP
+ type: string
+ href:
+ format: uri
+ type: string
+ uuid:
+ description: uuid of the ept service
+ format: uuid
+ type: string
+ name:
+ description: name of the ept service
+ type: string
+ description:
+ type: string
+ state:
+ description: indicate service state
+ enum:
+ - PROVISIONED
+ - PROVISIONING
+ - PROVISIONING_FAILED
+ - CONFIGURING
+ - CANCELLED
+ - DEPROVISIONING_FAILED
+ - PENDING_CONFIGURATION
+ - DEPROVISIONED
+ - CONFIGURING_FAILED
+ - DEPROVISIONING
+ type: string
+ package:
+ $ref: '#/components/schemas/precisionTimePackageResponse'
+ connections:
+ description: fabric l2 connections used for the ept service
+ items:
+ $ref: '#/components/schemas/fabricConnectionUuid'
+ maxItems: 2
+ minItems: 1
+ type: array
+ uniqueItems: true
+ order:
+ $ref: '#/components/schemas/Order'
+ ipv4:
+ $ref: '#/components/schemas/ipv4'
+ advanceConfiguration:
+ $ref: '#/components/schemas/advanceConfiguration'
+ project:
+ $ref: '#/components/schemas/Project'
+ account:
+ $ref: '#/components/schemas/account'
+ required:
+ - href
+ - ipv4
+ - order
+ - package
+ - state
+ - type
+ - uuid
+ title: precisionTimeServiceResponse
+ type: object
connectionLink:
example:
href: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections
@@ -44147,7 +46074,6 @@ components:
router:
bgpIpv4RoutesCount: 0
equinixAsn: 30000
- distinctIpv4PrefixesCount: 0
change:
data:
op: replace
@@ -44159,8 +46085,6 @@ components:
uuid: uuid
status: COMPLETED
updatedDateTime: 2020-11-06T07:00:00Z
- name: test-fg-1
- distinctIpv6PrefixesCount: 0
changeLog:
createdByEmail: john.smith@example.com
deletedByFullName: John Smith
@@ -44174,11 +46098,18 @@ components:
deletedBy: johnsmith
deletedByEmail: john.smith@example.com
updatedDateTime: 2020-11-06T07:00:00Z
- href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
- state: null
bgpIpv6RoutesCount: 0
uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170
connectionsCount: 0
+ distinctIpv4PrefixesCount: 0
+ name: test-fg-1
+ distinctIpv6PrefixesCount: 0
+ href: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170
+ state: null
+ marketplaceSubscription:
+ href: https://api.equinix.com/fabric/v4/marketplaceSubscriptions/20d32a80-0d61-4333-bc03-707b591ae2f5
+ type: AWS_MARKETPLACE_SUBSCRIPTION
+ uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5
port:
serviceType: EPL
encapsulation:
@@ -44292,7 +46223,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -44361,7 +46302,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -45143,7 +47094,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -45212,7 +47173,17 @@ components:
globalCustId: globalCustId
orgId: 6
interfaceSpeed: 0
+ notifications:
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
+ - registeredUsers:
+ - registeredUsers
+ - registeredUsers
+ type: NOTIFICATION
order:
+ customerReferenceId: customerReferenceId
orderNumber: orderNumber
orderId: orderId
signature:
@@ -45761,7 +47732,7 @@ components:
md5:
example:
password: password
- id: id
+ id: 0
type: ASCII
properties:
type:
@@ -45770,7 +47741,7 @@ components:
- HEX
type: string
id:
- type: string
+ type: integer
password:
type: string
type: object
diff --git a/equinix-openapi-fabric/docs/Actions.md b/equinix-openapi-fabric/docs/Actions.md
index 168b154b..97aa91cc 100644
--- a/equinix-openapi-fabric/docs/Actions.md
+++ b/equinix-openapi-fabric/docs/Actions.md
@@ -23,6 +23,8 @@
* `CONNECTION_PROVIDER_STATUS_REQUEST` (value: `"CONNECTION_PROVIDER_STATUS_REQUEST"`)
+* `CONNECTION_PROVIDER_BANDWIDTH_REQUEST` (value: `"CONNECTION_PROVIDER_BANDWIDTH_REQUEST"`)
+
* `ACCEPT_HOSTED_CONNECTION` (value: `"ACCEPT_HOSTED_CONNECTION"`)
* `CANCEL_EVPL_VC_DRAFT_ORDERS` (value: `"CANCEL_EVPL_VC_DRAFT_ORDERS"`)
diff --git a/equinix-openapi-fabric/docs/BGPConnectionIpv4.md b/equinix-openapi-fabric/docs/BGPConnectionIpv4.md
index dd2eb1f2..15199088 100644
--- a/equinix-openapi-fabric/docs/BGPConnectionIpv4.md
+++ b/equinix-openapi-fabric/docs/BGPConnectionIpv4.md
@@ -11,6 +11,8 @@
|**equinixPeerIp** | **String** | Equinix side peering ip | [optional] |
|**enabled** | **Boolean** | Admin status for the BGP session | |
|**outboundASPrependCount** | **Long** | AS path prepend count | [optional] |
+|**inboundMED** | **Long** | inbound Multi Exit Discriminator attribute | [optional] |
+|**outboundMED** | **Long** | inbound Multi Exit Discriminator attribute | [optional] |
|**operation** | [**BGPConnectionOperation**](BGPConnectionOperation.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/BGPConnectionIpv6.md b/equinix-openapi-fabric/docs/BGPConnectionIpv6.md
index 08dcc3dc..d7cad619 100644
--- a/equinix-openapi-fabric/docs/BGPConnectionIpv6.md
+++ b/equinix-openapi-fabric/docs/BGPConnectionIpv6.md
@@ -11,6 +11,8 @@
|**equinixPeerIp** | **String** | Equinix side peering ip | [optional] |
|**enabled** | **Boolean** | Admin status for the BGP session | |
|**outboundASPrependCount** | **Long** | AS path prepend count | [optional] |
+|**inboundMED** | **Long** | inbound Multi Exit Discriminator attribute | [optional] |
+|**outboundMED** | **Long** | inbound Multi Exit Discriminator attribute | [optional] |
|**operation** | [**BGPConnectionOperation**](BGPConnectionOperation.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/CloudRouter.md b/equinix-openapi-fabric/docs/CloudRouter.md
index 0d34da09..dbe10d6b 100644
--- a/equinix-openapi-fabric/docs/CloudRouter.md
+++ b/equinix-openapi-fabric/docs/CloudRouter.md
@@ -18,6 +18,7 @@ Fabric Cloud Router object
|**connectionsCount** | **Integer** | Number of connections associated with this Access point | [optional] |
|**distinctIpv4PrefixesCount** | **Integer** | Number of distinct ipv4 routes | [optional] |
|**distinctIpv6PrefixesCount** | **Integer** | Number of distinct ipv6 routes | [optional] |
+|**marketplaceSubscription** | [**MarketplaceSubscription**](MarketplaceSubscription.md) | | [optional] |
|**changeLog** | [**Changelog**](Changelog.md) | | [optional] |
|**change** | [**CloudRouterChange**](CloudRouterChange.md) | | [optional] |
|**type** | [**TypeEnum**](#TypeEnum) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/CloudRouterPostRequest.md b/equinix-openapi-fabric/docs/CloudRouterPostRequest.md
index c11e48fc..de4c5608 100644
--- a/equinix-openapi-fabric/docs/CloudRouterPostRequest.md
+++ b/equinix-openapi-fabric/docs/CloudRouterPostRequest.md
@@ -16,6 +16,7 @@ Create Cloud Router
|**project** | [**Project**](Project.md) | | [optional] |
|**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] |
|**notifications** | [**List<SimplifiedNotification>**](SimplifiedNotification.md) | Preferences for notifications on connection configuration or status changes | [optional] |
+|**marketplaceSubscription** | [**MarketplaceSubscription**](MarketplaceSubscription.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/Connection.md b/equinix-openapi-fabric/docs/Connection.md
index 631dbd8a..e8ceb266 100644
--- a/equinix-openapi-fabric/docs/Connection.md
+++ b/equinix-openapi-fabric/docs/Connection.md
@@ -27,6 +27,7 @@ Connection specification
|**direction** | **ConnectionDirection** | | [optional] |
|**aSide** | [**ConnectionSide**](ConnectionSide.md) | | |
|**zSide** | [**ConnectionSide**](ConnectionSide.md) | | |
+|**marketplaceSubscription** | [**MarketplaceSubscription**](MarketplaceSubscription.md) | | [optional] |
|**additionalInfo** | [**List<ConnectionSideAdditionalInfo>**](ConnectionSideAdditionalInfo.md) | Connection additional information | [optional] |
|**project** | [**Project**](Project.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/ConnectionAcceptanceData.md b/equinix-openapi-fabric/docs/ConnectionAcceptanceData.md
index da866f34..9f6d09c1 100644
--- a/equinix-openapi-fabric/docs/ConnectionAcceptanceData.md
+++ b/equinix-openapi-fabric/docs/ConnectionAcceptanceData.md
@@ -9,6 +9,7 @@ Connection acceptance data
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**zSide** | [**ConnectionSide**](ConnectionSide.md) | | [optional] |
+|**providerBandwidth** | **Integer** | Authorization key bandwidth in Mbps | [optional] [readonly] |
diff --git a/equinix-openapi-fabric/docs/ConnectionPostRequest.md b/equinix-openapi-fabric/docs/ConnectionPostRequest.md
index 44ee16a7..82b1558d 100644
--- a/equinix-openapi-fabric/docs/ConnectionPostRequest.md
+++ b/equinix-openapi-fabric/docs/ConnectionPostRequest.md
@@ -19,6 +19,7 @@ Create connection post request
|**zSide** | [**ConnectionSide**](ConnectionSide.md) | | |
|**project** | [**Project**](Project.md) | | [optional] |
|**additionalInfo** | [**List<ConnectionSideAdditionalInfo>**](ConnectionSideAdditionalInfo.md) | Connection additional information | [optional] |
+|**marketplaceSubscription** | [**MarketplaceSubscription**](MarketplaceSubscription.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/MarketplaceSubscription.md b/equinix-openapi-fabric/docs/MarketplaceSubscription.md
new file mode 100644
index 00000000..7c575ad4
--- /dev/null
+++ b/equinix-openapi-fabric/docs/MarketplaceSubscription.md
@@ -0,0 +1,24 @@
+
+
+# MarketplaceSubscription
+
+Equinix Fabric Entity for Marketplace Subscription
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**href** | **URI** | Marketplace Subscription URI | [optional] [readonly] |
+|**type** | [**TypeEnum**](#TypeEnum) | Marketplace Subscription type | [optional] |
+|**uuid** | **String** | Equinix-assigned Marketplace Subscription identifier | [optional] |
+
+
+
+## Enum: TypeEnum
+
+| Name | Value |
+|---- | -----|
+| AWS_MARKETPLACE_SUBSCRIPTION | "AWS_MARKETPLACE_SUBSCRIPTION" |
+
+
+
diff --git a/equinix-openapi-fabric/docs/MarketplaceSubscriptionsApi.md b/equinix-openapi-fabric/docs/MarketplaceSubscriptionsApi.md
new file mode 100644
index 00000000..ccd05c51
--- /dev/null
+++ b/equinix-openapi-fabric/docs/MarketplaceSubscriptionsApi.md
@@ -0,0 +1,80 @@
+# MarketplaceSubscriptionsApi
+
+All URIs are relative to *https://api.equinix.com*
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**getSubscriptionById**](MarketplaceSubscriptionsApi.md#getSubscriptionById) | **GET** /fabric/v4/marketplaceSubscriptions/{subscriptionId} | Get Subscription |
+
+
+
+# **getSubscriptionById**
+> SubscriptionResponse getSubscriptionById(subscriptionId)
+
+Get Subscription
+
+The API provides capability to get subscription
+
+### 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.MarketplaceSubscriptionsApi;
+
+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");
+
+ MarketplaceSubscriptionsApi apiInstance = new MarketplaceSubscriptionsApi(defaultClient);
+ UUID subscriptionId = UUID.randomUUID(); // UUID | Subscription UUID
+ try {
+ SubscriptionResponse result = apiInstance.getSubscriptionById(subscriptionId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MarketplaceSubscriptionsApi#getSubscriptionById");
+ 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 |
+|------------- | ------------- | ------------- | -------------|
+| **subscriptionId** | **UUID**| Subscription UUID | |
+
+### Return type
+
+[**SubscriptionResponse**](SubscriptionResponse.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 | - |
+| **401** | Unauthorized | - |
+| **403** | Forbidden | - |
+| **415** | Unsupported Media Type | - |
+| **500** | Internal server error | - |
+
diff --git a/equinix-openapi-fabric/docs/Md5.md b/equinix-openapi-fabric/docs/Md5.md
index dfa5bc72..ad773bd4 100644
--- a/equinix-openapi-fabric/docs/Md5.md
+++ b/equinix-openapi-fabric/docs/Md5.md
@@ -8,7 +8,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**type** | [**TypeEnum**](#TypeEnum) | | [optional] |
-|**id** | **String** | | [optional] |
+|**id** | **Integer** | | [optional] |
|**password** | **String** | | [optional] |
diff --git a/equinix-openapi-fabric/docs/PhysicalPort.md b/equinix-openapi-fabric/docs/PhysicalPort.md
index 56ef80d3..71265506 100644
--- a/equinix-openapi-fabric/docs/PhysicalPort.md
+++ b/equinix-openapi-fabric/docs/PhysicalPort.md
@@ -17,6 +17,7 @@ Physical Port specification
|**interfaceType** | **String** | Physical Port Interface Type | [optional] |
|**tether** | [**PortTether**](PortTether.md) | | [optional] |
|**demarcationPoint** | [**PortDemarcationPoint**](PortDemarcationPoint.md) | | [optional] |
+|**notifications** | [**List<PortNotification>**](PortNotification.md) | Notification preferences | [optional] |
|**additionalInfo** | [**List<PortAdditionalInfo>**](PortAdditionalInfo.md) | Physical Port additional information | [optional] |
|**order** | [**PortOrder**](PortOrder.md) | | [optional] |
|**operation** | [**PortOperation**](PortOperation.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/PortOrder.md b/equinix-openapi-fabric/docs/PortOrder.md
index ee41d44a..69020c27 100644
--- a/equinix-openapi-fabric/docs/PortOrder.md
+++ b/equinix-openapi-fabric/docs/PortOrder.md
@@ -9,6 +9,7 @@
|------------ | ------------- | ------------- | -------------|
|**purchaseOrder** | [**PortOrderPurchaseOrder**](PortOrderPurchaseOrder.md) | | [optional] |
|**orderId** | **String** | Order Identification | [optional] |
+|**customerReferenceId** | **String** | Customer order reference Id | [optional] |
|**orderNumber** | **String** | Order Reference Number | [optional] |
|**uuid** | **UUID** | Equinix-assigned order identifier | [optional] |
|**signature** | [**PortOrderSignature**](PortOrderSignature.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/PrecisionTimeApi.md b/equinix-openapi-fabric/docs/PrecisionTimeApi.md
index 4a2a9cd7..a3e81747 100644
--- a/equinix-openapi-fabric/docs/PrecisionTimeApi.md
+++ b/equinix-openapi-fabric/docs/PrecisionTimeApi.md
@@ -10,6 +10,7 @@ All URIs are relative to *https://api.equinix.com*
| [**getTimeServicesConnectionsByServiceId**](PrecisionTimeApi.md#getTimeServicesConnectionsByServiceId) | **GET** /fabric/v4/timeServices/{serviceId}/connections | Get Connection Links |
| [**getTimeServicesPackageByCode**](PrecisionTimeApi.md#getTimeServicesPackageByCode) | **GET** /fabric/v4/timeServicePackages/{packageCode} | Get Package By Code |
| [**getTimeServicesPackages**](PrecisionTimeApi.md#getTimeServicesPackages) | **GET** /fabric/v4/timeServicePackages | Get Packages |
+| [**searchTimeServices**](PrecisionTimeApi.md#searchTimeServices) | **POST** /fabric/v4/timeServices/search | Search Time Services |
| [**updateTimeServicesById**](PrecisionTimeApi.md#updateTimeServicesById) | **PATCH** /fabric/v4/timeServices/{serviceId} | Patch time service |
@@ -433,6 +434,78 @@ This endpoint does not need any parameter.
| **415** | Unsupported Media Type | - |
| **500** | Internal server error | - |
+
+# **searchTimeServices**
+> ServiceSearchResponse searchTimeServices(timeServicesSearchRequest)
+
+Search Time Services
+
+The API provides capability to get list of user's Time Services using search criteria, including optional filtering, pagination and sorting
+
+### 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);
+ TimeServicesSearchRequest timeServicesSearchRequest = new TimeServicesSearchRequest(); // TimeServicesSearchRequest |
+ try {
+ ServiceSearchResponse result = apiInstance.searchTimeServices(timeServicesSearchRequest);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling PrecisionTimeApi#searchTimeServices");
+ 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 |
+|------------- | ------------- | ------------- | -------------|
+| **timeServicesSearchRequest** | [**TimeServicesSearchRequest**](TimeServicesSearchRequest.md)| | |
+
+### Return type
+
+[**ServiceSearchResponse**](ServiceSearchResponse.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Successful operation | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized | - |
+| **403** | Forbidden | - |
+| **415** | Unsupported Media Type | - |
+| **500** | Internal server error | - |
+
# **updateTimeServicesById**
> PrecisionTimeServiceCreateResponse updateTimeServicesById(serviceId, precisionTimeChangeOperation)
diff --git a/equinix-openapi-fabric/docs/PrecisionTimeChangeOperation.md b/equinix-openapi-fabric/docs/PrecisionTimeChangeOperation.md
index 71e37b24..4929ce18 100644
--- a/equinix-openapi-fabric/docs/PrecisionTimeChangeOperation.md
+++ b/equinix-openapi-fabric/docs/PrecisionTimeChangeOperation.md
@@ -19,8 +19,6 @@ Fabric Precision Timing change operation data
| Name | Value |
|---- | -----|
| REPLACE | "replace" |
-| ADD | "add" |
-| REMOVE | "remove" |
@@ -28,11 +26,8 @@ Fabric Precision Timing change operation data
| Name | Value |
|---- | -----|
-| IPV4 | "/ipv4" |
| NAME | "/name" |
-| ADVANCECONFIGURATION_NTP | "/advanceConfiguration/ntp" |
-| ADVANCECONFIGURATION_PTP | "/advanceConfiguration/ptp" |
-| PACKAGE | "/package" |
+| PACKAGE_CODE | "/package/code" |
diff --git a/equinix-openapi-fabric/docs/PrecisionTimeServiceResponse.md b/equinix-openapi-fabric/docs/PrecisionTimeServiceResponse.md
new file mode 100644
index 00000000..85ba199d
--- /dev/null
+++ b/equinix-openapi-fabric/docs/PrecisionTimeServiceResponse.md
@@ -0,0 +1,52 @@
+
+
+# PrecisionTimeServiceResponse
+
+EPT service instance
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**type** | [**TypeEnum**](#TypeEnum) | | |
+|**href** | **URI** | | |
+|**uuid** | **UUID** | uuid of the ept service | |
+|**name** | **String** | name of the ept service | [optional] |
+|**description** | **String** | | [optional] |
+|**state** | [**StateEnum**](#StateEnum) | indicate service state | |
+|**_package** | [**PrecisionTimePackageResponse**](PrecisionTimePackageResponse.md) | | |
+|**connections** | [**Set<FabricConnectionUuid>**](FabricConnectionUuid.md) | fabric l2 connections used for the ept service | [optional] |
+|**order** | [**Order**](Order.md) | | |
+|**ipv4** | [**Ipv4**](Ipv4.md) | | |
+|**advanceConfiguration** | [**AdvanceConfiguration**](AdvanceConfiguration.md) | | [optional] |
+|**project** | [**Project**](Project.md) | | [optional] |
+|**account** | [**Account**](Account.md) | | [optional] |
+
+
+
+## Enum: TypeEnum
+
+| Name | Value |
+|---- | -----|
+| NTP | "NTP" |
+| PTP | "PTP" |
+
+
+
+## Enum: StateEnum
+
+| Name | Value |
+|---- | -----|
+| PROVISIONED | "PROVISIONED" |
+| PROVISIONING | "PROVISIONING" |
+| PROVISIONING_FAILED | "PROVISIONING_FAILED" |
+| CONFIGURING | "CONFIGURING" |
+| CANCELLED | "CANCELLED" |
+| DEPROVISIONING_FAILED | "DEPROVISIONING_FAILED" |
+| PENDING_CONFIGURATION | "PENDING_CONFIGURATION" |
+| DEPROVISIONED | "DEPROVISIONED" |
+| CONFIGURING_FAILED | "CONFIGURING_FAILED" |
+| DEPROVISIONING | "DEPROVISIONING" |
+
+
+
diff --git a/equinix-openapi-fabric/docs/RoutingProtocolBGPData.md b/equinix-openapi-fabric/docs/RoutingProtocolBGPData.md
index 40419a0b..d312a231 100644
--- a/equinix-openapi-fabric/docs/RoutingProtocolBGPData.md
+++ b/equinix-openapi-fabric/docs/RoutingProtocolBGPData.md
@@ -14,6 +14,7 @@
|**customerAsn** | **Long** | Customer asn | [optional] |
|**equinixAsn** | **Long** | Equinix asn | [optional] |
|**bgpAuthKey** | **String** | BGP authorization key | [optional] |
+|**asOverrideEnabled** | **Boolean** | Enable AS number override | [optional] |
|**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] |
|**href** | **URI** | Routing Protocol URI | [optional] |
|**uuid** | **UUID** | Routing protocol identifier | [optional] |
diff --git a/equinix-openapi-fabric/docs/RoutingProtocolBGPType.md b/equinix-openapi-fabric/docs/RoutingProtocolBGPType.md
index 1d770169..71765ae1 100644
--- a/equinix-openapi-fabric/docs/RoutingProtocolBGPType.md
+++ b/equinix-openapi-fabric/docs/RoutingProtocolBGPType.md
@@ -14,6 +14,7 @@
|**customerAsn** | **Long** | Customer asn | [optional] |
|**equinixAsn** | **Long** | Equinix asn | [optional] |
|**bgpAuthKey** | **String** | BGP authorization key | [optional] |
+|**asOverrideEnabled** | **Boolean** | Enable AS number override | [optional] |
|**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/RoutingProtocolBase.md b/equinix-openapi-fabric/docs/RoutingProtocolBase.md
index a005bfd0..b63baab7 100644
--- a/equinix-openapi-fabric/docs/RoutingProtocolBase.md
+++ b/equinix-openapi-fabric/docs/RoutingProtocolBase.md
@@ -14,6 +14,7 @@
|**customerAsn** | **Long** | Customer asn | [optional] |
|**equinixAsn** | **Long** | Equinix asn | [optional] |
|**bgpAuthKey** | **String** | BGP authorization key | [optional] |
+|**asOverrideEnabled** | **Boolean** | Enable AS number override | [optional] |
|**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] |
|**directIpv4** | [**DirectConnectionIpv4**](DirectConnectionIpv4.md) | | [optional] |
|**directIpv6** | [**DirectConnectionIpv6**](DirectConnectionIpv6.md) | | [optional] |
diff --git a/equinix-openapi-fabric/docs/RoutingProtocolData.md b/equinix-openapi-fabric/docs/RoutingProtocolData.md
index 7bbdc37a..d5fddb90 100644
--- a/equinix-openapi-fabric/docs/RoutingProtocolData.md
+++ b/equinix-openapi-fabric/docs/RoutingProtocolData.md
@@ -14,6 +14,7 @@
|**customerAsn** | **Long** | Customer asn | [optional] |
|**equinixAsn** | **Long** | Equinix asn | [optional] |
|**bgpAuthKey** | **String** | BGP authorization key | [optional] |
+|**asOverrideEnabled** | **Boolean** | Enable AS number override | [optional] |
|**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] |
|**href** | **URI** | Routing Protocol URI | [optional] |
|**uuid** | **UUID** | Routing protocol identifier | [optional] |
diff --git a/equinix-openapi-fabric/docs/ServiceSearchResponse.md b/equinix-openapi-fabric/docs/ServiceSearchResponse.md
new file mode 100644
index 00000000..9a60f964
--- /dev/null
+++ b/equinix-openapi-fabric/docs/ServiceSearchResponse.md
@@ -0,0 +1,14 @@
+
+
+# ServiceSearchResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**pagination** | [**Pagination**](Pagination.md) | | [optional] |
+|**data** | [**List<PrecisionTimeServiceResponse>**](PrecisionTimeServiceResponse.md) | Data returned from the API call. | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionAsset.md b/equinix-openapi-fabric/docs/SubscriptionAsset.md
new file mode 100644
index 00000000..c7670668
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionAsset.md
@@ -0,0 +1,16 @@
+
+
+# SubscriptionAsset
+
+Asset information
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**type** | **SubscriptionAssetType** | | [optional] |
+|**_package** | [**SubscriptionRouterPackageType**](SubscriptionRouterPackageType.md) | | [optional] |
+|**bandwidth** | **Integer** | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionAssetType.md b/equinix-openapi-fabric/docs/SubscriptionAssetType.md
new file mode 100644
index 00000000..7d26e8f4
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionAssetType.md
@@ -0,0 +1,13 @@
+
+
+# SubscriptionAssetType
+
+## Enum
+
+
+* `XF_ROUTER` (value: `"XF_ROUTER"`)
+
+* `IP_VC` (value: `"IP_VC"`)
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionEntitlementResponse.md b/equinix-openapi-fabric/docs/SubscriptionEntitlementResponse.md
new file mode 100644
index 00000000..92408488
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionEntitlementResponse.md
@@ -0,0 +1,18 @@
+
+
+# SubscriptionEntitlementResponse
+
+Subscription entitlement
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**uuid** | **UUID** | Subscription Entitlement Id | [optional] |
+|**quantityEntitled** | **Integer** | | [optional] |
+|**quantityConsumed** | **Integer** | | [optional] |
+|**quantityAvailable** | **Integer** | | [optional] |
+|**asset** | [**SubscriptionAsset**](SubscriptionAsset.md) | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionResponse.md b/equinix-openapi-fabric/docs/SubscriptionResponse.md
new file mode 100644
index 00000000..c8abeb4f
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionResponse.md
@@ -0,0 +1,44 @@
+
+
+# SubscriptionResponse
+
+Subscription
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**href** | **URI** | | [optional] |
+|**uuid** | **UUID** | | [optional] |
+|**status** | **SubscriptionStatus** | | [optional] |
+|**marketplace** | [**MarketplaceEnum**](#MarketplaceEnum) | | [optional] |
+|**offerType** | [**OfferTypeEnum**](#OfferTypeEnum) | | [optional] |
+|**isAutoRenew** | **Boolean** | | [optional] |
+|**offerId** | **String** | | [optional] |
+|**trial** | [**SubscriptionTrial**](SubscriptionTrial.md) | | [optional] |
+|**subscriptionKey** | **String** | | [optional] |
+|**entitlements** | [**List<SubscriptionEntitlementResponse>**](SubscriptionEntitlementResponse.md) | | [optional] |
+|**changelog** | [**Changelog**](Changelog.md) | | [optional] |
+
+
+
+## Enum: MarketplaceEnum
+
+| Name | Value |
+|---- | -----|
+| AWS | "AWS" |
+| GCP | "GCP" |
+| AZURE | "AZURE" |
+| REDHAT | "REDHAT" |
+
+
+
+## Enum: OfferTypeEnum
+
+| Name | Value |
+|---- | -----|
+| PUBLIC | "PUBLIC" |
+| PRIVATE_OFFER | "PRIVATE_OFFER" |
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionRouterPackageType.md b/equinix-openapi-fabric/docs/SubscriptionRouterPackageType.md
new file mode 100644
index 00000000..f537e253
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionRouterPackageType.md
@@ -0,0 +1,23 @@
+
+
+# SubscriptionRouterPackageType
+
+Cloud Router Package Type
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**code** | [**CodeEnum**](#CodeEnum) | Cloud Router package code | [optional] |
+
+
+
+## Enum: CodeEnum
+
+| Name | Value |
+|---- | -----|
+| ADVANCED | "ADVANCED" |
+| STANDARD | "STANDARD" |
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionStatus.md b/equinix-openapi-fabric/docs/SubscriptionStatus.md
new file mode 100644
index 00000000..191e111a
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionStatus.md
@@ -0,0 +1,17 @@
+
+
+# SubscriptionStatus
+
+## Enum
+
+
+* `ACTIVE` (value: `"ACTIVE"`)
+
+* `EXPIRED` (value: `"EXPIRED"`)
+
+* `CANCELLED` (value: `"CANCELLED"`)
+
+* `GRACE_PERIOD` (value: `"GRACE_PERIOD"`)
+
+
+
diff --git a/equinix-openapi-fabric/docs/SubscriptionTrial.md b/equinix-openapi-fabric/docs/SubscriptionTrial.md
new file mode 100644
index 00000000..ff12c8d9
--- /dev/null
+++ b/equinix-openapi-fabric/docs/SubscriptionTrial.md
@@ -0,0 +1,15 @@
+
+
+# SubscriptionTrial
+
+Trial
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**enabled** | **Boolean** | | [optional] |
+|**expiryDateTime** | **OffsetDateTime** | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceFilter.md b/equinix-openapi-fabric/docs/TimeServiceFilter.md
new file mode 100644
index 00000000..19af51e8
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceFilter.md
@@ -0,0 +1,16 @@
+
+
+# TimeServiceFilter
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**property** | **String** | Possible field names to use on filters: * `/project/projectId` - project id (mandatory) * `/name` - Precision Time Service name * `/uuid` - Precision Time Service uuid * `/type` - Precision Time Service protocol * `/state` - Precision Time Service status * `/account/accountNumber` - Precision Time Service account number * `/package/code` - Precision Time Service package * `/_*` - all-category search | [optional] |
+|**operator** | **String** | Possible operators to use on filters: * `=` - equal * `!=` - not equal * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `ILIKE` - case-insensitive like | [optional] |
+|**values** | **List<String>** | | [optional] |
+|**or** | [**List<TimeServiceSimpleExpression>**](TimeServiceSimpleExpression.md) | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceFilters.md b/equinix-openapi-fabric/docs/TimeServiceFilters.md
new file mode 100644
index 00000000..ef962668
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceFilters.md
@@ -0,0 +1,13 @@
+
+
+# TimeServiceFilters
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**and** | [**List<TimeServiceFilter>**](TimeServiceFilter.md) | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceOrFilter.md b/equinix-openapi-fabric/docs/TimeServiceOrFilter.md
new file mode 100644
index 00000000..7cd9e1bc
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceOrFilter.md
@@ -0,0 +1,13 @@
+
+
+# TimeServiceOrFilter
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**or** | [**List<TimeServiceSimpleExpression>**](TimeServiceSimpleExpression.md) | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceSimpleExpression.md b/equinix-openapi-fabric/docs/TimeServiceSimpleExpression.md
new file mode 100644
index 00000000..3561e84e
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceSimpleExpression.md
@@ -0,0 +1,15 @@
+
+
+# TimeServiceSimpleExpression
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**property** | **String** | Possible field names to use on filters: * `/project/projectId` - project id (mandatory) * `/name` - Precision Time Service name * `/uuid` - Precision Time Service uuid * `/type` - Precision Time Service protocol * `/state` - Precision Time Service status * `/account/accountNumber` - Precision Time Service account number * `/package/code` - Precision Time Service package * `/_*` - all-category search | [optional] |
+|**operator** | **String** | Possible operators to use on filters: * `=` - equal * `!=` - not equal * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `ILIKE` - case-insensitive like | [optional] |
+|**values** | **List<String>** | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceSortBy.md b/equinix-openapi-fabric/docs/TimeServiceSortBy.md
new file mode 100644
index 00000000..48175114
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceSortBy.md
@@ -0,0 +1,23 @@
+
+
+# TimeServiceSortBy
+
+## Enum
+
+
+* `NAME` (value: `"/name"`)
+
+* `UUID` (value: `"/uuid"`)
+
+* `STATE` (value: `"/state"`)
+
+* `TYPE` (value: `"/type"`)
+
+* `PACKAGE_CODE` (value: `"/package/code"`)
+
+* `CHANGELOG_CREATEDDATETIME` (value: `"/changeLog/createdDateTime"`)
+
+* `CHANGELOG_UPDATEDDATETIME` (value: `"/changeLog/updatedDateTime"`)
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceSortCriteria.md b/equinix-openapi-fabric/docs/TimeServiceSortCriteria.md
new file mode 100644
index 00000000..b131df36
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceSortCriteria.md
@@ -0,0 +1,14 @@
+
+
+# TimeServiceSortCriteria
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**direction** | **TimeServiceSortDirection** | | [optional] |
+|**property** | **TimeServiceSortBy** | | [optional] |
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServiceSortDirection.md b/equinix-openapi-fabric/docs/TimeServiceSortDirection.md
new file mode 100644
index 00000000..fc6ee832
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServiceSortDirection.md
@@ -0,0 +1,13 @@
+
+
+# TimeServiceSortDirection
+
+## Enum
+
+
+* `DESC` (value: `"DESC"`)
+
+* `ASC` (value: `"ASC"`)
+
+
+
diff --git a/equinix-openapi-fabric/docs/TimeServicesSearchRequest.md b/equinix-openapi-fabric/docs/TimeServicesSearchRequest.md
new file mode 100644
index 00000000..2f0d2328
--- /dev/null
+++ b/equinix-openapi-fabric/docs/TimeServicesSearchRequest.md
@@ -0,0 +1,16 @@
+
+
+# TimeServicesSearchRequest
+
+Search requests containing criteria
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**filter** | [**TimeServiceFilters**](TimeServiceFilters.md) | | [optional] |
+|**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] |
+|**sort** | [**List<TimeServiceSortCriteria>**](TimeServiceSortCriteria.md) | | [optional] |
+
+
+
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 dfcd39ea..36d38ba4 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
@@ -212,6 +212,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
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.MarketplaceSubscription.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Md5.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.MetalInterconnection.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Metrics.CustomTypeAdapterFactory());
@@ -266,6 +267,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
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.PrecisionTimeServiceResponse.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.Price.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PriceCharge.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.PriceError.CustomTypeAdapterFactory());
@@ -339,6 +341,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceProfileSimpleExpression.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceProfileSortCriteria.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceProfiles.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceSearchResponse.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceToken.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceTokenActionRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ServiceTokenChangeOperation.CustomTypeAdapterFactory());
@@ -362,6 +365,17 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SortItem.CustomTypeAdapterFactory());
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.SubscriptionAsset.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SubscriptionEntitlementResponse.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SubscriptionResponse.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SubscriptionRouterPackageType.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.SubscriptionTrial.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TimeServiceFilter.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TimeServiceFilters.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TimeServiceOrFilter.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TimeServiceSimpleExpression.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TimeServiceSortCriteria.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TimeServicesSearchRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.TopUtilizedStatistics.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new com.equinix.openapi.fabric.v4.model.ValidateRequestFilter.CustomTypeAdapterFactory());
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/MarketplaceSubscriptionsApi.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/MarketplaceSubscriptionsApi.java
new file mode 100644
index 00000000..2d484e05
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/api/MarketplaceSubscriptionsApi.java
@@ -0,0 +1,215 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.SubscriptionResponse;
+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 MarketplaceSubscriptionsApi {
+ private ApiClient localVarApiClient;
+ private int localHostIndex;
+ private String localCustomBaseUrl;
+
+ public MarketplaceSubscriptionsApi() {
+ this(Configuration.getDefaultApiClient());
+ }
+
+ public MarketplaceSubscriptionsApi(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 getSubscriptionById
+ * @param subscriptionId Subscription 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 | Successful operation | - |
+ 401 | Unauthorized | - |
+ 403 | Forbidden | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public okhttp3.Call getSubscriptionByIdCall(UUID subscriptionId, 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/marketplaceSubscriptions/{subscriptionId}"
+ .replace("{" + "subscriptionId" + "}", localVarApiClient.escapeString(subscriptionId.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 getSubscriptionByIdValidateBeforeCall(UUID subscriptionId, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'subscriptionId' is set
+ if (subscriptionId == null) {
+ throw new ApiException("Missing the required parameter 'subscriptionId' when calling getSubscriptionById(Async)");
+ }
+
+ return getSubscriptionByIdCall(subscriptionId, _callback);
+
+ }
+
+ /**
+ * Get Subscription
+ * The API provides capability to get subscription
+ * @param subscriptionId Subscription UUID (required)
+ * @return SubscriptionResponse
+ * @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 | - |
+ 401 | Unauthorized | - |
+ 403 | Forbidden | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public SubscriptionResponse getSubscriptionById(UUID subscriptionId) throws ApiException {
+ ApiResponse localVarResp = getSubscriptionByIdWithHttpInfo(subscriptionId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get Subscription
+ * The API provides capability to get subscription
+ * @param subscriptionId Subscription UUID (required)
+ * @return ApiResponse<SubscriptionResponse>
+ * @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 | - |
+ 401 | Unauthorized | - |
+ 403 | Forbidden | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public ApiResponse getSubscriptionByIdWithHttpInfo(UUID subscriptionId) throws ApiException {
+ okhttp3.Call localVarCall = getSubscriptionByIdValidateBeforeCall(subscriptionId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get Subscription (asynchronously)
+ * The API provides capability to get subscription
+ * @param subscriptionId Subscription 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 | Successful operation | - |
+ 401 | Unauthorized | - |
+ 403 | Forbidden | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public okhttp3.Call getSubscriptionByIdAsync(UUID subscriptionId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = getSubscriptionByIdValidateBeforeCall(subscriptionId, _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 1b0f9294..5e4e1e12 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
@@ -32,6 +32,8 @@
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 com.equinix.openapi.fabric.v4.model.ServiceSearchResponse;
+import com.equinix.openapi.fabric.v4.model.TimeServicesSearchRequest;
import java.util.UUID;
import java.lang.reflect.Type;
@@ -894,6 +896,149 @@ public okhttp3.Call getTimeServicesPackagesAsync(final ApiCallback
+ Status Code | Description | Response Headers |
+ 200 | Successful operation | - |
+ 400 | Bad request | - |
+ 401 | Unauthorized | - |
+ 403 | Forbidden | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public okhttp3.Call searchTimeServicesCall(TimeServicesSearchRequest timeServicesSearchRequest, 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 = timeServicesSearchRequest;
+
+ // create path and map variables
+ String localVarPath = "/fabric/v4/timeServices/search";
+
+ 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 searchTimeServicesValidateBeforeCall(TimeServicesSearchRequest timeServicesSearchRequest, final ApiCallback _callback) throws ApiException {
+ // verify the required parameter 'timeServicesSearchRequest' is set
+ if (timeServicesSearchRequest == null) {
+ throw new ApiException("Missing the required parameter 'timeServicesSearchRequest' when calling searchTimeServices(Async)");
+ }
+
+ return searchTimeServicesCall(timeServicesSearchRequest, _callback);
+
+ }
+
+ /**
+ * Search Time Services
+ * The API provides capability to get list of user's Time Services using search criteria, including optional filtering, pagination and sorting
+ * @param timeServicesSearchRequest (required)
+ * @return ServiceSearchResponse
+ * @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 | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public ServiceSearchResponse searchTimeServices(TimeServicesSearchRequest timeServicesSearchRequest) throws ApiException {
+ ApiResponse localVarResp = searchTimeServicesWithHttpInfo(timeServicesSearchRequest);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Search Time Services
+ * The API provides capability to get list of user's Time Services using search criteria, including optional filtering, pagination and sorting
+ * @param timeServicesSearchRequest (required)
+ * @return ApiResponse<ServiceSearchResponse>
+ * @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 | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public ApiResponse searchTimeServicesWithHttpInfo(TimeServicesSearchRequest timeServicesSearchRequest) throws ApiException {
+ okhttp3.Call localVarCall = searchTimeServicesValidateBeforeCall(timeServicesSearchRequest, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Search Time Services (asynchronously)
+ * The API provides capability to get list of user's Time Services using search criteria, including optional filtering, pagination and sorting
+ * @param timeServicesSearchRequest (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 | - |
+ 415 | Unsupported Media Type | - |
+ 500 | Internal server error | - |
+
+ */
+ public okhttp3.Call searchTimeServicesAsync(TimeServicesSearchRequest timeServicesSearchRequest, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = searchTimeServicesValidateBeforeCall(timeServicesSearchRequest, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for updateTimeServicesById
* @param serviceId Service UUID (required)
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Actions.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Actions.java
index 320e09cd..859af6fa 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Actions.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Actions.java
@@ -45,6 +45,8 @@ public enum Actions {
CONNECTION_PROVIDER_STATUS_REQUEST("CONNECTION_PROVIDER_STATUS_REQUEST"),
+ CONNECTION_PROVIDER_BANDWIDTH_REQUEST("CONNECTION_PROVIDER_BANDWIDTH_REQUEST"),
+
ACCEPT_HOSTED_CONNECTION("ACCEPT_HOSTED_CONNECTION"),
CANCEL_EVPL_VC_DRAFT_ORDERS("CANCEL_EVPL_VC_DRAFT_ORDERS");
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv4.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv4.java
index 64b5a85b..3e3bf6d9 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv4.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv4.java
@@ -63,6 +63,14 @@ public class BGPConnectionIpv4 {
@SerializedName(SERIALIZED_NAME_OUTBOUND_A_S_PREPEND_COUNT)
private Long outboundASPrependCount;
+ public static final String SERIALIZED_NAME_INBOUND_M_E_D = "inboundMED";
+ @SerializedName(SERIALIZED_NAME_INBOUND_M_E_D)
+ private Long inboundMED;
+
+ public static final String SERIALIZED_NAME_OUTBOUND_M_E_D = "outboundMED";
+ @SerializedName(SERIALIZED_NAME_OUTBOUND_M_E_D)
+ private Long outboundMED;
+
public static final String SERIALIZED_NAME_OPERATION = "operation";
@SerializedName(SERIALIZED_NAME_OPERATION)
private BGPConnectionOperation operation;
@@ -158,6 +166,50 @@ public void setOutboundASPrependCount(Long outboundASPrependCount) {
}
+ public BGPConnectionIpv4 inboundMED(Long inboundMED) {
+
+ this.inboundMED = inboundMED;
+ return this;
+ }
+
+ /**
+ * inbound Multi Exit Discriminator attribute
+ * @return inboundMED
+ **/
+ @javax.annotation.Nullable
+
+ public Long getInboundMED() {
+ return inboundMED;
+ }
+
+
+ public void setInboundMED(Long inboundMED) {
+ this.inboundMED = inboundMED;
+ }
+
+
+ public BGPConnectionIpv4 outboundMED(Long outboundMED) {
+
+ this.outboundMED = outboundMED;
+ return this;
+ }
+
+ /**
+ * inbound Multi Exit Discriminator attribute
+ * @return outboundMED
+ **/
+ @javax.annotation.Nullable
+
+ public Long getOutboundMED() {
+ return outboundMED;
+ }
+
+
+ public void setOutboundMED(Long outboundMED) {
+ this.outboundMED = outboundMED;
+ }
+
+
public BGPConnectionIpv4 operation(BGPConnectionOperation operation) {
this.operation = operation;
@@ -238,13 +290,15 @@ public boolean equals(Object o) {
Objects.equals(this.equinixPeerIp, bgPConnectionIpv4.equinixPeerIp) &&
Objects.equals(this.enabled, bgPConnectionIpv4.enabled) &&
Objects.equals(this.outboundASPrependCount, bgPConnectionIpv4.outboundASPrependCount) &&
+ Objects.equals(this.inboundMED, bgPConnectionIpv4.inboundMED) &&
+ Objects.equals(this.outboundMED, bgPConnectionIpv4.outboundMED) &&
Objects.equals(this.operation, bgPConnectionIpv4.operation)&&
Objects.equals(this.additionalProperties, bgPConnectionIpv4.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(customerPeerIp, equinixPeerIp, enabled, outboundASPrependCount, operation, additionalProperties);
+ return Objects.hash(customerPeerIp, equinixPeerIp, enabled, outboundASPrependCount, inboundMED, outboundMED, operation, additionalProperties);
}
@Override
@@ -255,6 +309,8 @@ public String toString() {
sb.append(" equinixPeerIp: ").append(toIndentedString(equinixPeerIp)).append("\n");
sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
sb.append(" outboundASPrependCount: ").append(toIndentedString(outboundASPrependCount)).append("\n");
+ sb.append(" inboundMED: ").append(toIndentedString(inboundMED)).append("\n");
+ sb.append(" outboundMED: ").append(toIndentedString(outboundMED)).append("\n");
sb.append(" operation: ").append(toIndentedString(operation)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
@@ -283,6 +339,8 @@ private String toIndentedString(Object o) {
openapiFields.add("equinixPeerIp");
openapiFields.add("enabled");
openapiFields.add("outboundASPrependCount");
+ openapiFields.add("inboundMED");
+ openapiFields.add("outboundMED");
openapiFields.add("operation");
// a set of required properties/fields (JSON key names)
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv6.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv6.java
index 6f215cc9..20a0d816 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv6.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/BGPConnectionIpv6.java
@@ -63,6 +63,14 @@ public class BGPConnectionIpv6 {
@SerializedName(SERIALIZED_NAME_OUTBOUND_A_S_PREPEND_COUNT)
private Long outboundASPrependCount;
+ public static final String SERIALIZED_NAME_INBOUND_M_E_D = "inboundMED";
+ @SerializedName(SERIALIZED_NAME_INBOUND_M_E_D)
+ private Long inboundMED;
+
+ public static final String SERIALIZED_NAME_OUTBOUND_M_E_D = "outboundMED";
+ @SerializedName(SERIALIZED_NAME_OUTBOUND_M_E_D)
+ private Long outboundMED;
+
public static final String SERIALIZED_NAME_OPERATION = "operation";
@SerializedName(SERIALIZED_NAME_OPERATION)
private BGPConnectionOperation operation;
@@ -158,6 +166,50 @@ public void setOutboundASPrependCount(Long outboundASPrependCount) {
}
+ public BGPConnectionIpv6 inboundMED(Long inboundMED) {
+
+ this.inboundMED = inboundMED;
+ return this;
+ }
+
+ /**
+ * inbound Multi Exit Discriminator attribute
+ * @return inboundMED
+ **/
+ @javax.annotation.Nullable
+
+ public Long getInboundMED() {
+ return inboundMED;
+ }
+
+
+ public void setInboundMED(Long inboundMED) {
+ this.inboundMED = inboundMED;
+ }
+
+
+ public BGPConnectionIpv6 outboundMED(Long outboundMED) {
+
+ this.outboundMED = outboundMED;
+ return this;
+ }
+
+ /**
+ * inbound Multi Exit Discriminator attribute
+ * @return outboundMED
+ **/
+ @javax.annotation.Nullable
+
+ public Long getOutboundMED() {
+ return outboundMED;
+ }
+
+
+ public void setOutboundMED(Long outboundMED) {
+ this.outboundMED = outboundMED;
+ }
+
+
public BGPConnectionIpv6 operation(BGPConnectionOperation operation) {
this.operation = operation;
@@ -238,13 +290,15 @@ public boolean equals(Object o) {
Objects.equals(this.equinixPeerIp, bgPConnectionIpv6.equinixPeerIp) &&
Objects.equals(this.enabled, bgPConnectionIpv6.enabled) &&
Objects.equals(this.outboundASPrependCount, bgPConnectionIpv6.outboundASPrependCount) &&
+ Objects.equals(this.inboundMED, bgPConnectionIpv6.inboundMED) &&
+ Objects.equals(this.outboundMED, bgPConnectionIpv6.outboundMED) &&
Objects.equals(this.operation, bgPConnectionIpv6.operation)&&
Objects.equals(this.additionalProperties, bgPConnectionIpv6.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(customerPeerIp, equinixPeerIp, enabled, outboundASPrependCount, operation, additionalProperties);
+ return Objects.hash(customerPeerIp, equinixPeerIp, enabled, outboundASPrependCount, inboundMED, outboundMED, operation, additionalProperties);
}
@Override
@@ -255,6 +309,8 @@ public String toString() {
sb.append(" equinixPeerIp: ").append(toIndentedString(equinixPeerIp)).append("\n");
sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
sb.append(" outboundASPrependCount: ").append(toIndentedString(outboundASPrependCount)).append("\n");
+ sb.append(" inboundMED: ").append(toIndentedString(inboundMED)).append("\n");
+ sb.append(" outboundMED: ").append(toIndentedString(outboundMED)).append("\n");
sb.append(" operation: ").append(toIndentedString(operation)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
@@ -283,6 +339,8 @@ private String toIndentedString(Object o) {
openapiFields.add("equinixPeerIp");
openapiFields.add("enabled");
openapiFields.add("outboundASPrependCount");
+ openapiFields.add("inboundMED");
+ openapiFields.add("outboundMED");
openapiFields.add("operation");
// a set of required properties/fields (JSON key names)
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouter.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouter.java
index c44db7ca..c81250e3 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouter.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouter.java
@@ -17,6 +17,7 @@
import com.equinix.openapi.fabric.v4.model.CloudRouterAccessPointState;
import com.equinix.openapi.fabric.v4.model.CloudRouterChange;
import com.equinix.openapi.fabric.v4.model.CloudRouterPostRequestPackage;
+import com.equinix.openapi.fabric.v4.model.MarketplaceSubscription;
import com.equinix.openapi.fabric.v4.model.Order;
import com.equinix.openapi.fabric.v4.model.Project;
import com.equinix.openapi.fabric.v4.model.SimplifiedAccount;
@@ -99,6 +100,10 @@ public class CloudRouter {
@SerializedName(SERIALIZED_NAME_DISTINCT_IPV6_PREFIXES_COUNT)
private Integer distinctIpv6PrefixesCount;
+ public static final String SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION = "marketplaceSubscription";
+ @SerializedName(SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION)
+ private MarketplaceSubscription marketplaceSubscription;
+
public static final String SERIALIZED_NAME_CHANGE_LOG = "changeLog";
@SerializedName(SERIALIZED_NAME_CHANGE_LOG)
private Changelog changeLog;
@@ -407,6 +412,28 @@ public void setDistinctIpv6PrefixesCount(Integer distinctIpv6PrefixesCount) {
}
+ public CloudRouter marketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+
+ this.marketplaceSubscription = marketplaceSubscription;
+ return this;
+ }
+
+ /**
+ * Get marketplaceSubscription
+ * @return marketplaceSubscription
+ **/
+ @javax.annotation.Nullable
+
+ public MarketplaceSubscription getMarketplaceSubscription() {
+ return marketplaceSubscription;
+ }
+
+
+ public void setMarketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+ this.marketplaceSubscription = marketplaceSubscription;
+ }
+
+
public CloudRouter changeLog(Changelog changeLog) {
this.changeLog = changeLog;
@@ -677,6 +704,7 @@ public boolean equals(Object o) {
Objects.equals(this.connectionsCount, cloudRouter.connectionsCount) &&
Objects.equals(this.distinctIpv4PrefixesCount, cloudRouter.distinctIpv4PrefixesCount) &&
Objects.equals(this.distinctIpv6PrefixesCount, cloudRouter.distinctIpv6PrefixesCount) &&
+ Objects.equals(this.marketplaceSubscription, cloudRouter.marketplaceSubscription) &&
Objects.equals(this.changeLog, cloudRouter.changeLog) &&
Objects.equals(this.change, cloudRouter.change) &&
Objects.equals(this.type, cloudRouter.type) &&
@@ -691,7 +719,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(href, uuid, name, state, equinixAsn, bgpIpv4RoutesCount, bgpIpv6RoutesCount, connectionsCount, distinctIpv4PrefixesCount, distinctIpv6PrefixesCount, changeLog, change, type, location, _package, order, project, account, notifications, additionalProperties);
+ return Objects.hash(href, uuid, name, state, equinixAsn, bgpIpv4RoutesCount, bgpIpv6RoutesCount, connectionsCount, distinctIpv4PrefixesCount, distinctIpv6PrefixesCount, marketplaceSubscription, changeLog, change, type, location, _package, order, project, account, notifications, additionalProperties);
}
@Override
@@ -708,6 +736,7 @@ public String toString() {
sb.append(" connectionsCount: ").append(toIndentedString(connectionsCount)).append("\n");
sb.append(" distinctIpv4PrefixesCount: ").append(toIndentedString(distinctIpv4PrefixesCount)).append("\n");
sb.append(" distinctIpv6PrefixesCount: ").append(toIndentedString(distinctIpv6PrefixesCount)).append("\n");
+ sb.append(" marketplaceSubscription: ").append(toIndentedString(marketplaceSubscription)).append("\n");
sb.append(" changeLog: ").append(toIndentedString(changeLog)).append("\n");
sb.append(" change: ").append(toIndentedString(change)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
@@ -748,6 +777,7 @@ private String toIndentedString(Object o) {
openapiFields.add("project");
openapiFields.add("account");
openapiFields.add("notifications");
+ openapiFields.add("marketplaceSubscription");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
@@ -774,6 +804,10 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
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()));
}
+ // validate the optional field `marketplaceSubscription`
+ if (jsonObj.get("marketplaceSubscription") != null && !jsonObj.get("marketplaceSubscription").isJsonNull()) {
+ MarketplaceSubscription.validateJsonObject(jsonObj.getAsJsonObject("marketplaceSubscription"));
+ }
// validate the optional field `changeLog`
if (jsonObj.get("changeLog") != null && !jsonObj.get("changeLog").isJsonNull()) {
Changelog.validateJsonObject(jsonObj.getAsJsonObject("changeLog"));
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPostRequest.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPostRequest.java
index a00754ab..d69d703e 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPostRequest.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/CloudRouterPostRequest.java
@@ -14,6 +14,7 @@
import java.util.Objects;
import java.util.Arrays;
import com.equinix.openapi.fabric.v4.model.CloudRouterPostRequestPackage;
+import com.equinix.openapi.fabric.v4.model.MarketplaceSubscription;
import com.equinix.openapi.fabric.v4.model.Order;
import com.equinix.openapi.fabric.v4.model.Project;
import com.equinix.openapi.fabric.v4.model.SimplifiedAccount;
@@ -131,6 +132,10 @@ public TypeEnum read(final JsonReader jsonReader) throws IOException {
@SerializedName(SERIALIZED_NAME_NOTIFICATIONS)
private List notifications = new ArrayList<>();
+ public static final String SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION = "marketplaceSubscription";
+ @SerializedName(SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION)
+ private MarketplaceSubscription marketplaceSubscription;
+
public CloudRouterPostRequest() {
}
@@ -317,6 +322,28 @@ public void setNotifications(List notifications) {
this.notifications = notifications;
}
+
+ public CloudRouterPostRequest marketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+
+ this.marketplaceSubscription = marketplaceSubscription;
+ return this;
+ }
+
+ /**
+ * Get marketplaceSubscription
+ * @return marketplaceSubscription
+ **/
+ @javax.annotation.Nullable
+
+ public MarketplaceSubscription getMarketplaceSubscription() {
+ return marketplaceSubscription;
+ }
+
+
+ public void setMarketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+ this.marketplaceSubscription = marketplaceSubscription;
+ }
+
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
@@ -379,13 +406,14 @@ public boolean equals(Object o) {
Objects.equals(this.order, cloudRouterPostRequest.order) &&
Objects.equals(this.project, cloudRouterPostRequest.project) &&
Objects.equals(this.account, cloudRouterPostRequest.account) &&
- Objects.equals(this.notifications, cloudRouterPostRequest.notifications)&&
+ Objects.equals(this.notifications, cloudRouterPostRequest.notifications) &&
+ Objects.equals(this.marketplaceSubscription, cloudRouterPostRequest.marketplaceSubscription)&&
Objects.equals(this.additionalProperties, cloudRouterPostRequest.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(type, name, location, _package, order, project, account, notifications, additionalProperties);
+ return Objects.hash(type, name, location, _package, order, project, account, notifications, marketplaceSubscription, additionalProperties);
}
@Override
@@ -400,6 +428,7 @@ public String toString() {
sb.append(" project: ").append(toIndentedString(project)).append("\n");
sb.append(" account: ").append(toIndentedString(account)).append("\n");
sb.append(" notifications: ").append(toIndentedString(notifications)).append("\n");
+ sb.append(" marketplaceSubscription: ").append(toIndentedString(marketplaceSubscription)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -431,6 +460,7 @@ private String toIndentedString(Object o) {
openapiFields.add("project");
openapiFields.add("account");
openapiFields.add("notifications");
+ openapiFields.add("marketplaceSubscription");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
@@ -488,6 +518,10 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
};
}
}
+ // validate the optional field `marketplaceSubscription`
+ if (jsonObj.get("marketplaceSubscription") != null && !jsonObj.get("marketplaceSubscription").isJsonNull()) {
+ MarketplaceSubscription.validateJsonObject(jsonObj.getAsJsonObject("marketplaceSubscription"));
+ }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Connection.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Connection.java
index 75596b74..61018dae 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Connection.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Connection.java
@@ -23,6 +23,7 @@
import com.equinix.openapi.fabric.v4.model.ConnectionState;
import com.equinix.openapi.fabric.v4.model.ConnectionType;
import com.equinix.openapi.fabric.v4.model.GeoScopeType;
+import com.equinix.openapi.fabric.v4.model.MarketplaceSubscription;
import com.equinix.openapi.fabric.v4.model.Order;
import com.equinix.openapi.fabric.v4.model.Project;
import com.equinix.openapi.fabric.v4.model.SimplifiedAccount;
@@ -139,6 +140,10 @@ public class Connection {
@SerializedName(SERIALIZED_NAME_Z_SIDE)
private ConnectionSide zSide;
+ public static final String SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION = "marketplaceSubscription";
+ @SerializedName(SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION)
+ private MarketplaceSubscription marketplaceSubscription;
+
public static final String SERIALIZED_NAME_ADDITIONAL_INFO = "additionalInfo";
@SerializedName(SERIALIZED_NAME_ADDITIONAL_INFO)
private List additionalInfo = new ArrayList<>();
@@ -577,6 +582,28 @@ public void setzSide(ConnectionSide zSide) {
}
+ public Connection marketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+
+ this.marketplaceSubscription = marketplaceSubscription;
+ return this;
+ }
+
+ /**
+ * Get marketplaceSubscription
+ * @return marketplaceSubscription
+ **/
+ @javax.annotation.Nullable
+
+ public MarketplaceSubscription getMarketplaceSubscription() {
+ return marketplaceSubscription;
+ }
+
+
+ public void setMarketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+ this.marketplaceSubscription = marketplaceSubscription;
+ }
+
+
public Connection additionalInfo(List additionalInfo) {
this.additionalInfo = additionalInfo;
@@ -702,6 +729,7 @@ public boolean equals(Object o) {
Objects.equals(this.direction, connection.direction) &&
Objects.equals(this.aSide, connection.aSide) &&
Objects.equals(this.zSide, connection.zSide) &&
+ Objects.equals(this.marketplaceSubscription, connection.marketplaceSubscription) &&
Objects.equals(this.additionalInfo, connection.additionalInfo) &&
Objects.equals(this.project, connection.project)&&
Objects.equals(this.additionalProperties, connection.additionalProperties);
@@ -709,7 +737,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(type, href, uuid, name, description, state, change, operation, order, notifications, account, changeLog, bandwidth, geoScope, redundancy, isRemote, direction, aSide, zSide, additionalInfo, project, additionalProperties);
+ return Objects.hash(type, href, uuid, name, description, state, change, operation, order, notifications, account, changeLog, bandwidth, geoScope, redundancy, isRemote, direction, aSide, zSide, marketplaceSubscription, additionalInfo, project, additionalProperties);
}
@Override
@@ -735,6 +763,7 @@ public String toString() {
sb.append(" direction: ").append(toIndentedString(direction)).append("\n");
sb.append(" aSide: ").append(toIndentedString(aSide)).append("\n");
sb.append(" zSide: ").append(toIndentedString(zSide)).append("\n");
+ sb.append(" marketplaceSubscription: ").append(toIndentedString(marketplaceSubscription)).append("\n");
sb.append(" additionalInfo: ").append(toIndentedString(additionalInfo)).append("\n");
sb.append(" project: ").append(toIndentedString(project)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
@@ -779,6 +808,7 @@ private String toIndentedString(Object o) {
openapiFields.add("direction");
openapiFields.add("aSide");
openapiFields.add("zSide");
+ openapiFields.add("marketplaceSubscription");
openapiFields.add("additionalInfo");
openapiFields.add("project");
@@ -864,6 +894,10 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
ConnectionSide.validateJsonObject(jsonObj.getAsJsonObject("aSide"));
// validate the required field `zSide`
ConnectionSide.validateJsonObject(jsonObj.getAsJsonObject("zSide"));
+ // validate the optional field `marketplaceSubscription`
+ if (jsonObj.get("marketplaceSubscription") != null && !jsonObj.get("marketplaceSubscription").isJsonNull()) {
+ MarketplaceSubscription.validateJsonObject(jsonObj.getAsJsonObject("marketplaceSubscription"));
+ }
if (jsonObj.get("additionalInfo") != null && !jsonObj.get("additionalInfo").isJsonNull()) {
JsonArray jsonArrayadditionalInfo = jsonObj.getAsJsonArray("additionalInfo");
if (jsonArrayadditionalInfo != null) {
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionAcceptanceData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionAcceptanceData.java
index ba5e4bf4..74e079c9 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionAcceptanceData.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionAcceptanceData.java
@@ -51,9 +51,21 @@ public class ConnectionAcceptanceData {
@SerializedName(SERIALIZED_NAME_Z_SIDE)
private ConnectionSide zSide;
+ public static final String SERIALIZED_NAME_PROVIDER_BANDWIDTH = "providerBandwidth";
+ @SerializedName(SERIALIZED_NAME_PROVIDER_BANDWIDTH)
+ private Integer providerBandwidth;
+
public ConnectionAcceptanceData() {
}
+
+ public ConnectionAcceptanceData(
+ Integer providerBandwidth
+ ) {
+ this();
+ this.providerBandwidth = providerBandwidth;
+ }
+
public ConnectionAcceptanceData zSide(ConnectionSide zSide) {
this.zSide = zSide;
@@ -75,6 +87,19 @@ public void setzSide(ConnectionSide zSide) {
this.zSide = zSide;
}
+
+ /**
+ * Authorization key bandwidth in Mbps
+ * @return providerBandwidth
+ **/
+ @javax.annotation.Nullable
+
+ public Integer getProviderBandwidth() {
+ return providerBandwidth;
+ }
+
+
+
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
@@ -130,13 +155,14 @@ public boolean equals(Object o) {
return false;
}
ConnectionAcceptanceData connectionAcceptanceData = (ConnectionAcceptanceData) o;
- return Objects.equals(this.zSide, connectionAcceptanceData.zSide)&&
+ return Objects.equals(this.zSide, connectionAcceptanceData.zSide) &&
+ Objects.equals(this.providerBandwidth, connectionAcceptanceData.providerBandwidth)&&
Objects.equals(this.additionalProperties, connectionAcceptanceData.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(zSide, additionalProperties);
+ return Objects.hash(zSide, providerBandwidth, additionalProperties);
}
@Override
@@ -144,6 +170,7 @@ public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ConnectionAcceptanceData {\n");
sb.append(" zSide: ").append(toIndentedString(zSide)).append("\n");
+ sb.append(" providerBandwidth: ").append(toIndentedString(providerBandwidth)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -168,6 +195,7 @@ private String toIndentedString(Object o) {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet();
openapiFields.add("zSide");
+ openapiFields.add("providerBandwidth");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionPostRequest.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionPostRequest.java
index d89c1dd2..7ae36387 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionPostRequest.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ConnectionPostRequest.java
@@ -18,6 +18,7 @@
import com.equinix.openapi.fabric.v4.model.ConnectionSideAdditionalInfo;
import com.equinix.openapi.fabric.v4.model.ConnectionType;
import com.equinix.openapi.fabric.v4.model.GeoScopeType;
+import com.equinix.openapi.fabric.v4.model.MarketplaceSubscription;
import com.equinix.openapi.fabric.v4.model.Order;
import com.equinix.openapi.fabric.v4.model.Project;
import com.equinix.openapi.fabric.v4.model.SimplifiedNotification;
@@ -100,6 +101,10 @@ public class ConnectionPostRequest {
@SerializedName(SERIALIZED_NAME_ADDITIONAL_INFO)
private List additionalInfo = new ArrayList<>();
+ public static final String SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION = "marketplaceSubscription";
+ @SerializedName(SERIALIZED_NAME_MARKETPLACE_SUBSCRIPTION)
+ private MarketplaceSubscription marketplaceSubscription;
+
public ConnectionPostRequest() {
}
@@ -359,6 +364,28 @@ public void setAdditionalInfo(List additionalInfo)
this.additionalInfo = additionalInfo;
}
+
+ public ConnectionPostRequest marketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+
+ this.marketplaceSubscription = marketplaceSubscription;
+ return this;
+ }
+
+ /**
+ * Get marketplaceSubscription
+ * @return marketplaceSubscription
+ **/
+ @javax.annotation.Nullable
+
+ public MarketplaceSubscription getMarketplaceSubscription() {
+ return marketplaceSubscription;
+ }
+
+
+ public void setMarketplaceSubscription(MarketplaceSubscription marketplaceSubscription) {
+ this.marketplaceSubscription = marketplaceSubscription;
+ }
+
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
@@ -424,13 +451,14 @@ public boolean equals(Object o) {
Objects.equals(this.aSide, connectionPostRequest.aSide) &&
Objects.equals(this.zSide, connectionPostRequest.zSide) &&
Objects.equals(this.project, connectionPostRequest.project) &&
- Objects.equals(this.additionalInfo, connectionPostRequest.additionalInfo)&&
+ Objects.equals(this.additionalInfo, connectionPostRequest.additionalInfo) &&
+ Objects.equals(this.marketplaceSubscription, connectionPostRequest.marketplaceSubscription)&&
Objects.equals(this.additionalProperties, connectionPostRequest.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(type, name, order, notifications, bandwidth, geoScope, redundancy, aSide, zSide, project, additionalInfo, additionalProperties);
+ return Objects.hash(type, name, order, notifications, bandwidth, geoScope, redundancy, aSide, zSide, project, additionalInfo, marketplaceSubscription, additionalProperties);
}
@Override
@@ -448,6 +476,7 @@ public String toString() {
sb.append(" zSide: ").append(toIndentedString(zSide)).append("\n");
sb.append(" project: ").append(toIndentedString(project)).append("\n");
sb.append(" additionalInfo: ").append(toIndentedString(additionalInfo)).append("\n");
+ sb.append(" marketplaceSubscription: ").append(toIndentedString(marketplaceSubscription)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -482,6 +511,7 @@ private String toIndentedString(Object o) {
openapiFields.add("zSide");
openapiFields.add("project");
openapiFields.add("additionalInfo");
+ openapiFields.add("marketplaceSubscription");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
@@ -555,6 +585,10 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
};
}
}
+ // validate the optional field `marketplaceSubscription`
+ if (jsonObj.get("marketplaceSubscription") != null && !jsonObj.get("marketplaceSubscription").isJsonNull()) {
+ MarketplaceSubscription.validateJsonObject(jsonObj.getAsJsonObject("marketplaceSubscription"));
+ }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/MarketplaceSubscription.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/MarketplaceSubscription.java
new file mode 100644
index 00000000..9a1694d3
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/MarketplaceSubscription.java
@@ -0,0 +1,387 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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;
+
+/**
+ * Equinix Fabric Entity for Marketplace Subscription
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class MarketplaceSubscription {
+ public static final String SERIALIZED_NAME_HREF = "href";
+ @SerializedName(SERIALIZED_NAME_HREF)
+ private URI href;
+
+ /**
+ * Marketplace Subscription type
+ */
+ @JsonAdapter(TypeEnum.Adapter.class)
+ public enum TypeEnum {
+ AWS_MARKETPLACE_SUBSCRIPTION("AWS_MARKETPLACE_SUBSCRIPTION");
+
+ 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 String uuid;
+
+ public MarketplaceSubscription() {
+ }
+
+
+ public MarketplaceSubscription(
+ URI href
+ ) {
+ this();
+ this.href = href;
+ }
+
+ /**
+ * Marketplace Subscription URI
+ * @return href
+ **/
+ @javax.annotation.Nullable
+
+ public URI getHref() {
+ return href;
+ }
+
+
+
+
+ public MarketplaceSubscription type(TypeEnum type) {
+
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Marketplace Subscription type
+ * @return type
+ **/
+ @javax.annotation.Nullable
+
+ public TypeEnum getType() {
+ return type;
+ }
+
+
+ public void setType(TypeEnum type) {
+ this.type = type;
+ }
+
+
+ public MarketplaceSubscription uuid(String uuid) {
+
+ this.uuid = uuid;
+ return this;
+ }
+
+ /**
+ * Equinix-assigned Marketplace Subscription identifier
+ * @return uuid
+ **/
+ @javax.annotation.Nullable
+
+ public String getUuid() {
+ return uuid;
+ }
+
+
+ public void setUuid(String 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 MarketplaceSubscription instance itself
+ */
+ public MarketplaceSubscription 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;
+ }
+ MarketplaceSubscription marketplaceSubscription = (MarketplaceSubscription) o;
+ return Objects.equals(this.href, marketplaceSubscription.href) &&
+ Objects.equals(this.type, marketplaceSubscription.type) &&
+ Objects.equals(this.uuid, marketplaceSubscription.uuid)&&
+ Objects.equals(this.additionalProperties, marketplaceSubscription.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(href, type, uuid, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MarketplaceSubscription {\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(" 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");
+
+ // 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 MarketplaceSubscription
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!MarketplaceSubscription.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in MarketplaceSubscription is not found in the empty JSON string", MarketplaceSubscription.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()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!MarketplaceSubscription.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'MarketplaceSubscription' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(MarketplaceSubscription.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, MarketplaceSubscription 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 MarketplaceSubscription read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ MarketplaceSubscription 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 MarketplaceSubscription given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of MarketplaceSubscription
+ * @throws IOException if the JSON string is invalid with respect to MarketplaceSubscription
+ */
+ public static MarketplaceSubscription fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, MarketplaceSubscription.class);
+ }
+
+ /**
+ * Convert an instance of MarketplaceSubscription 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/Md5.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Md5.java
index 3043f26e..283523a8 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Md5.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/Md5.java
@@ -99,7 +99,7 @@ public TypeEnum read(final JsonReader jsonReader) throws IOException {
public static final String SERIALIZED_NAME_ID = "id";
@SerializedName(SERIALIZED_NAME_ID)
- private String id;
+ private Integer id;
public static final String SERIALIZED_NAME_PASSWORD = "password";
@SerializedName(SERIALIZED_NAME_PASSWORD)
@@ -130,7 +130,7 @@ public void setType(TypeEnum type) {
}
- public Md5 id(String id) {
+ public Md5 id(Integer id) {
this.id = id;
return this;
@@ -142,12 +142,12 @@ public Md5 id(String id) {
**/
@javax.annotation.Nullable
- public String getId() {
+ public Integer getId() {
return id;
}
- public void setId(String id) {
+ public void setId(Integer id) {
this.id = id;
}
@@ -292,9 +292,6 @@ 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("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) {
- throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString()));
- }
if ((jsonObj.get("password") != null && !jsonObj.get("password").isJsonNull()) && !jsonObj.get("password").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("password").toString()));
}
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PhysicalPort.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PhysicalPort.java
index 6f35695b..105ffdb9 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PhysicalPort.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PhysicalPort.java
@@ -17,6 +17,7 @@
import com.equinix.openapi.fabric.v4.model.PortAdditionalInfo;
import com.equinix.openapi.fabric.v4.model.PortDemarcationPoint;
import com.equinix.openapi.fabric.v4.model.PortLoa;
+import com.equinix.openapi.fabric.v4.model.PortNotification;
import com.equinix.openapi.fabric.v4.model.PortOperation;
import com.equinix.openapi.fabric.v4.model.PortOrder;
import com.equinix.openapi.fabric.v4.model.PortState;
@@ -94,6 +95,10 @@ public class PhysicalPort {
@SerializedName(SERIALIZED_NAME_DEMARCATION_POINT)
private PortDemarcationPoint demarcationPoint;
+ public static final String SERIALIZED_NAME_NOTIFICATIONS = "notifications";
+ @SerializedName(SERIALIZED_NAME_NOTIFICATIONS)
+ private List notifications = new ArrayList<>();
+
public static final String SERIALIZED_NAME_ADDITIONAL_INFO = "additionalInfo";
@SerializedName(SERIALIZED_NAME_ADDITIONAL_INFO)
private List additionalInfo = new ArrayList<>();
@@ -311,6 +316,36 @@ public void setDemarcationPoint(PortDemarcationPoint demarcationPoint) {
}
+ public PhysicalPort notifications(List notifications) {
+
+ this.notifications = notifications;
+ return this;
+ }
+
+ public PhysicalPort addNotificationsItem(PortNotification notificationsItem) {
+ if (this.notifications == null) {
+ this.notifications = new ArrayList<>();
+ }
+ this.notifications.add(notificationsItem);
+ return this;
+ }
+
+ /**
+ * Notification preferences
+ * @return notifications
+ **/
+ @javax.annotation.Nullable
+
+ public List getNotifications() {
+ return notifications;
+ }
+
+
+ public void setNotifications(List notifications) {
+ this.notifications = notifications;
+ }
+
+
public PhysicalPort additionalInfo(List additionalInfo) {
this.additionalInfo = additionalInfo;
@@ -478,6 +513,7 @@ public boolean equals(Object o) {
Objects.equals(this.interfaceType, physicalPort.interfaceType) &&
Objects.equals(this.tether, physicalPort.tether) &&
Objects.equals(this.demarcationPoint, physicalPort.demarcationPoint) &&
+ Objects.equals(this.notifications, physicalPort.notifications) &&
Objects.equals(this.additionalInfo, physicalPort.additionalInfo) &&
Objects.equals(this.order, physicalPort.order) &&
Objects.equals(this.operation, physicalPort.operation) &&
@@ -487,7 +523,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(type, id, href, state, account, interfaceSpeed, interfaceType, tether, demarcationPoint, additionalInfo, order, operation, loas, additionalProperties);
+ return Objects.hash(type, id, href, state, account, interfaceSpeed, interfaceType, tether, demarcationPoint, notifications, additionalInfo, order, operation, loas, additionalProperties);
}
@Override
@@ -503,6 +539,7 @@ public String toString() {
sb.append(" interfaceType: ").append(toIndentedString(interfaceType)).append("\n");
sb.append(" tether: ").append(toIndentedString(tether)).append("\n");
sb.append(" demarcationPoint: ").append(toIndentedString(demarcationPoint)).append("\n");
+ sb.append(" notifications: ").append(toIndentedString(notifications)).append("\n");
sb.append(" additionalInfo: ").append(toIndentedString(additionalInfo)).append("\n");
sb.append(" order: ").append(toIndentedString(order)).append("\n");
sb.append(" operation: ").append(toIndentedString(operation)).append("\n");
@@ -539,6 +576,7 @@ private String toIndentedString(Object o) {
openapiFields.add("interfaceType");
openapiFields.add("tether");
openapiFields.add("demarcationPoint");
+ openapiFields.add("notifications");
openapiFields.add("additionalInfo");
openapiFields.add("order");
openapiFields.add("operation");
@@ -578,6 +616,20 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
if (jsonObj.get("demarcationPoint") != null && !jsonObj.get("demarcationPoint").isJsonNull()) {
PortDemarcationPoint.validateJsonObject(jsonObj.getAsJsonObject("demarcationPoint"));
}
+ 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++) {
+ PortNotification.validateJsonObject(jsonArraynotifications.get(i).getAsJsonObject());
+ };
+ }
+ }
if (jsonObj.get("additionalInfo") != null && !jsonObj.get("additionalInfo").isJsonNull()) {
JsonArray jsonArrayadditionalInfo = jsonObj.getAsJsonArray("additionalInfo");
if (jsonArrayadditionalInfo != null) {
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PortOrder.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PortOrder.java
index e58f07f5..e8488a81 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PortOrder.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PortOrder.java
@@ -57,6 +57,10 @@ public class PortOrder {
@SerializedName(SERIALIZED_NAME_ORDER_ID)
private String orderId;
+ public static final String SERIALIZED_NAME_CUSTOMER_REFERENCE_ID = "customerReferenceId";
+ @SerializedName(SERIALIZED_NAME_CUSTOMER_REFERENCE_ID)
+ private String customerReferenceId;
+
public static final String SERIALIZED_NAME_ORDER_NUMBER = "orderNumber";
@SerializedName(SERIALIZED_NAME_ORDER_NUMBER)
private String orderNumber;
@@ -116,6 +120,28 @@ public void setOrderId(String orderId) {
}
+ public PortOrder customerReferenceId(String customerReferenceId) {
+
+ this.customerReferenceId = customerReferenceId;
+ return this;
+ }
+
+ /**
+ * Customer order reference Id
+ * @return customerReferenceId
+ **/
+ @javax.annotation.Nullable
+
+ public String getCustomerReferenceId() {
+ return customerReferenceId;
+ }
+
+
+ public void setCustomerReferenceId(String customerReferenceId) {
+ this.customerReferenceId = customerReferenceId;
+ }
+
+
public PortOrder orderNumber(String orderNumber) {
this.orderNumber = orderNumber;
@@ -238,6 +264,7 @@ public boolean equals(Object o) {
PortOrder portOrder = (PortOrder) o;
return Objects.equals(this.purchaseOrder, portOrder.purchaseOrder) &&
Objects.equals(this.orderId, portOrder.orderId) &&
+ Objects.equals(this.customerReferenceId, portOrder.customerReferenceId) &&
Objects.equals(this.orderNumber, portOrder.orderNumber) &&
Objects.equals(this.uuid, portOrder.uuid) &&
Objects.equals(this.signature, portOrder.signature)&&
@@ -246,7 +273,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(purchaseOrder, orderId, orderNumber, uuid, signature, additionalProperties);
+ return Objects.hash(purchaseOrder, orderId, customerReferenceId, orderNumber, uuid, signature, additionalProperties);
}
@Override
@@ -255,6 +282,7 @@ public String toString() {
sb.append("class PortOrder {\n");
sb.append(" purchaseOrder: ").append(toIndentedString(purchaseOrder)).append("\n");
sb.append(" orderId: ").append(toIndentedString(orderId)).append("\n");
+ sb.append(" customerReferenceId: ").append(toIndentedString(customerReferenceId)).append("\n");
sb.append(" orderNumber: ").append(toIndentedString(orderNumber)).append("\n");
sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
sb.append(" signature: ").append(toIndentedString(signature)).append("\n");
@@ -283,6 +311,7 @@ private String toIndentedString(Object o) {
openapiFields = new HashSet();
openapiFields.add("purchaseOrder");
openapiFields.add("orderId");
+ openapiFields.add("customerReferenceId");
openapiFields.add("orderNumber");
openapiFields.add("uuid");
openapiFields.add("signature");
@@ -310,6 +339,9 @@ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
if ((jsonObj.get("orderId") != null && !jsonObj.get("orderId").isJsonNull()) && !jsonObj.get("orderId").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `orderId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("orderId").toString()));
}
+ if ((jsonObj.get("customerReferenceId") != null && !jsonObj.get("customerReferenceId").isJsonNull()) && !jsonObj.get("customerReferenceId").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `customerReferenceId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("customerReferenceId").toString()));
+ }
if ((jsonObj.get("orderNumber") != null && !jsonObj.get("orderNumber").isJsonNull()) && !jsonObj.get("orderNumber").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `orderNumber` to be a primitive type in the JSON string but got `%s`", jsonObj.get("orderNumber").toString()));
}
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeChangeOperation.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeChangeOperation.java
index 30cb7db0..d5b73958 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeChangeOperation.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeChangeOperation.java
@@ -51,11 +51,7 @@ public class PrecisionTimeChangeOperation {
*/
@JsonAdapter(OpEnum.Adapter.class)
public enum OpEnum {
- REPLACE("replace"),
-
- ADD("add"),
-
- REMOVE("remove");
+ REPLACE("replace");
private String value;
@@ -104,15 +100,9 @@ public OpEnum read(final JsonReader jsonReader) throws IOException {
*/
@JsonAdapter(PathEnum.Adapter.class)
public enum PathEnum {
- IPV4("/ipv4"),
-
NAME("/name"),
- ADVANCECONFIGURATION_NTP("/advanceConfiguration/ntp"),
-
- ADVANCECONFIGURATION_PTP("/advanceConfiguration/ptp"),
-
- PACKAGE("/package");
+ PACKAGE_CODE("/package/code");
private String value;
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceResponse.java
new file mode 100644
index 00000000..8af6e232
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/PrecisionTimeServiceResponse.java
@@ -0,0 +1,816 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.Account;
+import com.equinix.openapi.fabric.v4.model.AdvanceConfiguration;
+import com.equinix.openapi.fabric.v4.model.FabricConnectionUuid;
+import com.equinix.openapi.fabric.v4.model.Ipv4;
+import com.equinix.openapi.fabric.v4.model.Order;
+import com.equinix.openapi.fabric.v4.model.PrecisionTimePackageResponse;
+import com.equinix.openapi.fabric.v4.model.Project;
+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.LinkedHashSet;
+import java.util.Set;
+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;
+
+/**
+ * EPT service instance
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class PrecisionTimeServiceResponse {
+ /**
+ * Gets or Sets type
+ */
+ @JsonAdapter(TypeEnum.Adapter.class)
+ public enum TypeEnum {
+ NTP("NTP"),
+
+ PTP("PTP");
+
+ 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 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;
+
+ /**
+ * indicate service state
+ */
+ @JsonAdapter(StateEnum.Adapter.class)
+ public enum StateEnum {
+ PROVISIONED("PROVISIONED"),
+
+ PROVISIONING("PROVISIONING"),
+
+ PROVISIONING_FAILED("PROVISIONING_FAILED"),
+
+ CONFIGURING("CONFIGURING"),
+
+ CANCELLED("CANCELLED"),
+
+ DEPROVISIONING_FAILED("DEPROVISIONING_FAILED"),
+
+ PENDING_CONFIGURATION("PENDING_CONFIGURATION"),
+
+ DEPROVISIONED("DEPROVISIONED"),
+
+ CONFIGURING_FAILED("CONFIGURING_FAILED"),
+
+ DEPROVISIONING("DEPROVISIONING");
+
+ private String value;
+
+ StateEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static StateEnum fromValue(String value) {
+ for (StateEnum b : StateEnum.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 StateEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public StateEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return StateEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_STATE = "state";
+ @SerializedName(SERIALIZED_NAME_STATE)
+ private StateEnum state;
+
+ public static final String SERIALIZED_NAME_PACKAGE = "package";
+ @SerializedName(SERIALIZED_NAME_PACKAGE)
+ private PrecisionTimePackageResponse _package;
+
+ public static final String SERIALIZED_NAME_CONNECTIONS = "connections";
+ @SerializedName(SERIALIZED_NAME_CONNECTIONS)
+ private Set connections = new LinkedHashSet<>();
+
+ public static final String SERIALIZED_NAME_ORDER = "order";
+ @SerializedName(SERIALIZED_NAME_ORDER)
+ private Order order;
+
+ public static final String SERIALIZED_NAME_IPV4 = "ipv4";
+ @SerializedName(SERIALIZED_NAME_IPV4)
+ private Ipv4 ipv4;
+
+ public static final String SERIALIZED_NAME_ADVANCE_CONFIGURATION = "advanceConfiguration";
+ @SerializedName(SERIALIZED_NAME_ADVANCE_CONFIGURATION)
+ private AdvanceConfiguration advanceConfiguration;
+
+ public static final String SERIALIZED_NAME_PROJECT = "project";
+ @SerializedName(SERIALIZED_NAME_PROJECT)
+ private Project project;
+
+ public static final String SERIALIZED_NAME_ACCOUNT = "account";
+ @SerializedName(SERIALIZED_NAME_ACCOUNT)
+ private Account account;
+
+ public PrecisionTimeServiceResponse() {
+ }
+
+ public PrecisionTimeServiceResponse type(TypeEnum type) {
+
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ * @return type
+ **/
+ @javax.annotation.Nonnull
+
+ public TypeEnum getType() {
+ return type;
+ }
+
+
+ public void setType(TypeEnum type) {
+ this.type = type;
+ }
+
+
+ public PrecisionTimeServiceResponse href(URI href) {
+
+ this.href = href;
+ return this;
+ }
+
+ /**
+ * Get href
+ * @return href
+ **/
+ @javax.annotation.Nonnull
+
+ public URI getHref() {
+ return href;
+ }
+
+
+ public void setHref(URI href) {
+ this.href = href;
+ }
+
+
+ public PrecisionTimeServiceResponse uuid(UUID uuid) {
+
+ this.uuid = uuid;
+ return this;
+ }
+
+ /**
+ * uuid of the ept service
+ * @return uuid
+ **/
+ @javax.annotation.Nonnull
+
+ public UUID getUuid() {
+ return uuid;
+ }
+
+
+ public void setUuid(UUID uuid) {
+ this.uuid = uuid;
+ }
+
+
+ public PrecisionTimeServiceResponse name(String name) {
+
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * name of the ept service
+ * @return name
+ **/
+ @javax.annotation.Nullable
+
+ public String getName() {
+ return name;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public PrecisionTimeServiceResponse description(String description) {
+
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get description
+ * @return description
+ **/
+ @javax.annotation.Nullable
+
+ public String getDescription() {
+ return description;
+ }
+
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+
+ public PrecisionTimeServiceResponse state(StateEnum state) {
+
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * indicate service state
+ * @return state
+ **/
+ @javax.annotation.Nonnull
+
+ public StateEnum getState() {
+ return state;
+ }
+
+
+ public void setState(StateEnum state) {
+ this.state = state;
+ }
+
+
+ public PrecisionTimeServiceResponse _package(PrecisionTimePackageResponse _package) {
+
+ this._package = _package;
+ return this;
+ }
+
+ /**
+ * Get _package
+ * @return _package
+ **/
+ @javax.annotation.Nonnull
+
+ public PrecisionTimePackageResponse getPackage() {
+ return _package;
+ }
+
+
+ public void setPackage(PrecisionTimePackageResponse _package) {
+ this._package = _package;
+ }
+
+
+ public PrecisionTimeServiceResponse connections(Set connections) {
+
+ this.connections = connections;
+ return this;
+ }
+
+ public PrecisionTimeServiceResponse addConnectionsItem(FabricConnectionUuid connectionsItem) {
+ if (this.connections == null) {
+ this.connections = new LinkedHashSet<>();
+ }
+ this.connections.add(connectionsItem);
+ return this;
+ }
+
+ /**
+ * fabric l2 connections used for the ept service
+ * @return connections
+ **/
+ @javax.annotation.Nullable
+
+ public Set getConnections() {
+ return connections;
+ }
+
+
+ public void setConnections(Set connections) {
+ this.connections = connections;
+ }
+
+
+ public PrecisionTimeServiceResponse order(Order order) {
+
+ this.order = order;
+ return this;
+ }
+
+ /**
+ * Get order
+ * @return order
+ **/
+ @javax.annotation.Nonnull
+
+ public Order getOrder() {
+ return order;
+ }
+
+
+ public void setOrder(Order order) {
+ this.order = order;
+ }
+
+
+ public PrecisionTimeServiceResponse ipv4(Ipv4 ipv4) {
+
+ this.ipv4 = ipv4;
+ return this;
+ }
+
+ /**
+ * Get ipv4
+ * @return ipv4
+ **/
+ @javax.annotation.Nonnull
+
+ public Ipv4 getIpv4() {
+ return ipv4;
+ }
+
+
+ public void setIpv4(Ipv4 ipv4) {
+ this.ipv4 = ipv4;
+ }
+
+
+ public PrecisionTimeServiceResponse advanceConfiguration(AdvanceConfiguration advanceConfiguration) {
+
+ this.advanceConfiguration = advanceConfiguration;
+ return this;
+ }
+
+ /**
+ * Get advanceConfiguration
+ * @return advanceConfiguration
+ **/
+ @javax.annotation.Nullable
+
+ public AdvanceConfiguration getAdvanceConfiguration() {
+ return advanceConfiguration;
+ }
+
+
+ public void setAdvanceConfiguration(AdvanceConfiguration advanceConfiguration) {
+ this.advanceConfiguration = advanceConfiguration;
+ }
+
+
+ public PrecisionTimeServiceResponse 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 PrecisionTimeServiceResponse account(Account account) {
+
+ this.account = account;
+ return this;
+ }
+
+ /**
+ * Get account
+ * @return account
+ **/
+ @javax.annotation.Nullable
+
+ public Account getAccount() {
+ return account;
+ }
+
+
+ public void setAccount(Account account) {
+ this.account = account;
+ }
+
+ /**
+ * 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 PrecisionTimeServiceResponse instance itself
+ */
+ public PrecisionTimeServiceResponse 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;
+ }
+ PrecisionTimeServiceResponse precisionTimeServiceResponse = (PrecisionTimeServiceResponse) o;
+ return Objects.equals(this.type, precisionTimeServiceResponse.type) &&
+ Objects.equals(this.href, precisionTimeServiceResponse.href) &&
+ Objects.equals(this.uuid, precisionTimeServiceResponse.uuid) &&
+ Objects.equals(this.name, precisionTimeServiceResponse.name) &&
+ Objects.equals(this.description, precisionTimeServiceResponse.description) &&
+ Objects.equals(this.state, precisionTimeServiceResponse.state) &&
+ Objects.equals(this._package, precisionTimeServiceResponse._package) &&
+ Objects.equals(this.connections, precisionTimeServiceResponse.connections) &&
+ Objects.equals(this.order, precisionTimeServiceResponse.order) &&
+ Objects.equals(this.ipv4, precisionTimeServiceResponse.ipv4) &&
+ Objects.equals(this.advanceConfiguration, precisionTimeServiceResponse.advanceConfiguration) &&
+ Objects.equals(this.project, precisionTimeServiceResponse.project) &&
+ Objects.equals(this.account, precisionTimeServiceResponse.account)&&
+ Objects.equals(this.additionalProperties, precisionTimeServiceResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, href, uuid, name, description, state, _package, connections, order, ipv4, advanceConfiguration, project, account, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class PrecisionTimeServiceResponse {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" href: ").append(toIndentedString(href)).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(" _package: ").append(toIndentedString(_package)).append("\n");
+ sb.append(" connections: ").append(toIndentedString(connections)).append("\n");
+ sb.append(" order: ").append(toIndentedString(order)).append("\n");
+ sb.append(" ipv4: ").append(toIndentedString(ipv4)).append("\n");
+ sb.append(" advanceConfiguration: ").append(toIndentedString(advanceConfiguration)).append("\n");
+ sb.append(" project: ").append(toIndentedString(project)).append("\n");
+ sb.append(" account: ").append(toIndentedString(account)).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("href");
+ openapiFields.add("uuid");
+ openapiFields.add("name");
+ openapiFields.add("description");
+ openapiFields.add("state");
+ openapiFields.add("package");
+ openapiFields.add("connections");
+ openapiFields.add("order");
+ openapiFields.add("ipv4");
+ openapiFields.add("advanceConfiguration");
+ openapiFields.add("project");
+ openapiFields.add("account");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ openapiRequiredFields.add("type");
+ openapiRequiredFields.add("href");
+ openapiRequiredFields.add("uuid");
+ openapiRequiredFields.add("state");
+ openapiRequiredFields.add("package");
+ openapiRequiredFields.add("order");
+ openapiRequiredFields.add("ipv4");
+ }
+
+ /**
+ * 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 PrecisionTimeServiceResponse
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!PrecisionTimeServiceResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in PrecisionTimeServiceResponse is not found in the empty JSON string", PrecisionTimeServiceResponse.openapiRequiredFields.toString()));
+ }
+ }
+
+ // check to make sure all required properties/fields are present in the JSON string
+ for (String requiredField : PrecisionTimeServiceResponse.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("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").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").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("state").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `state` to be a primitive type in the JSON string but got `%s`", jsonObj.get("state").toString()));
+ }
+ // validate the required field `package`
+ PrecisionTimePackageResponse.validateJsonObject(jsonObj.getAsJsonObject("package"));
+ if (jsonObj.get("connections") != null && !jsonObj.get("connections").isJsonNull()) {
+ JsonArray jsonArrayconnections = jsonObj.getAsJsonArray("connections");
+ if (jsonArrayconnections != null) {
+ // ensure the json data is an array
+ if (!jsonObj.get("connections").isJsonArray()) {
+ throw new IllegalArgumentException(String.format("Expected the field `connections` to be an array in the JSON string but got `%s`", jsonObj.get("connections").toString()));
+ }
+
+ // validate the optional field `connections` (array)
+ for (int i = 0; i < jsonArrayconnections.size(); i++) {
+ FabricConnectionUuid.validateJsonObject(jsonArrayconnections.get(i).getAsJsonObject());
+ };
+ }
+ }
+ // validate the required field `order`
+ Order.validateJsonObject(jsonObj.getAsJsonObject("order"));
+ // validate the required field `ipv4`
+ Ipv4.validateJsonObject(jsonObj.getAsJsonObject("ipv4"));
+ // validate the optional field `advanceConfiguration`
+ if (jsonObj.get("advanceConfiguration") != null && !jsonObj.get("advanceConfiguration").isJsonNull()) {
+ AdvanceConfiguration.validateJsonObject(jsonObj.getAsJsonObject("advanceConfiguration"));
+ }
+ // validate the optional field `project`
+ if (jsonObj.get("project") != null && !jsonObj.get("project").isJsonNull()) {
+ Project.validateJsonObject(jsonObj.getAsJsonObject("project"));
+ }
+ // validate the optional field `account`
+ if (jsonObj.get("account") != null && !jsonObj.get("account").isJsonNull()) {
+ Account.validateJsonObject(jsonObj.getAsJsonObject("account"));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!PrecisionTimeServiceResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'PrecisionTimeServiceResponse' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(PrecisionTimeServiceResponse.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, PrecisionTimeServiceResponse 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 PrecisionTimeServiceResponse read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ PrecisionTimeServiceResponse 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 PrecisionTimeServiceResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of PrecisionTimeServiceResponse
+ * @throws IOException if the JSON string is invalid with respect to PrecisionTimeServiceResponse
+ */
+ public static PrecisionTimeServiceResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, PrecisionTimeServiceResponse.class);
+ }
+
+ /**
+ * Convert an instance of PrecisionTimeServiceResponse 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/RoutingProtocolBGPData.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPData.java
index fc7ff4b4..447a9465 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPData.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPData.java
@@ -127,6 +127,10 @@ public TypeEnum read(final JsonReader jsonReader) throws IOException {
@SerializedName(SERIALIZED_NAME_BGP_AUTH_KEY)
private String bgpAuthKey;
+ public static final String SERIALIZED_NAME_AS_OVERRIDE_ENABLED = "asOverrideEnabled";
+ @SerializedName(SERIALIZED_NAME_AS_OVERRIDE_ENABLED)
+ private Boolean asOverrideEnabled;
+
public static final String SERIALIZED_NAME_BFD = "bfd";
@SerializedName(SERIALIZED_NAME_BFD)
private RoutingProtocolBFD bfd;
@@ -367,6 +371,28 @@ public void setBgpAuthKey(String bgpAuthKey) {
}
+ public RoutingProtocolBGPData asOverrideEnabled(Boolean asOverrideEnabled) {
+
+ this.asOverrideEnabled = asOverrideEnabled;
+ return this;
+ }
+
+ /**
+ * Enable AS number override
+ * @return asOverrideEnabled
+ **/
+ @javax.annotation.Nullable
+
+ public Boolean getAsOverrideEnabled() {
+ return asOverrideEnabled;
+ }
+
+
+ public void setAsOverrideEnabled(Boolean asOverrideEnabled) {
+ this.asOverrideEnabled = asOverrideEnabled;
+ }
+
+
public RoutingProtocolBGPData bfd(RoutingProtocolBFD bfd) {
this.bfd = bfd;
@@ -582,6 +608,7 @@ public boolean equals(Object o) {
Objects.equals(this.customerAsn, routingProtocolBGPData.customerAsn) &&
Objects.equals(this.equinixAsn, routingProtocolBGPData.equinixAsn) &&
Objects.equals(this.bgpAuthKey, routingProtocolBGPData.bgpAuthKey) &&
+ Objects.equals(this.asOverrideEnabled, routingProtocolBGPData.asOverrideEnabled) &&
Objects.equals(this.bfd, routingProtocolBGPData.bfd) &&
Objects.equals(this.href, routingProtocolBGPData.href) &&
Objects.equals(this.uuid, routingProtocolBGPData.uuid) &&
@@ -594,7 +621,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(type, name, bgpIpv4, bgpIpv6, customerAsn, equinixAsn, bgpAuthKey, bfd, href, uuid, state, operation, change, changelog, additionalProperties);
+ return Objects.hash(type, name, bgpIpv4, bgpIpv6, customerAsn, equinixAsn, bgpAuthKey, asOverrideEnabled, bfd, href, uuid, state, operation, change, changelog, additionalProperties);
}
@Override
@@ -608,6 +635,7 @@ public String toString() {
sb.append(" customerAsn: ").append(toIndentedString(customerAsn)).append("\n");
sb.append(" equinixAsn: ").append(toIndentedString(equinixAsn)).append("\n");
sb.append(" bgpAuthKey: ").append(toIndentedString(bgpAuthKey)).append("\n");
+ sb.append(" asOverrideEnabled: ").append(toIndentedString(asOverrideEnabled)).append("\n");
sb.append(" bfd: ").append(toIndentedString(bfd)).append("\n");
sb.append(" href: ").append(toIndentedString(href)).append("\n");
sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
@@ -645,6 +673,7 @@ private String toIndentedString(Object o) {
openapiFields.add("customerAsn");
openapiFields.add("equinixAsn");
openapiFields.add("bgpAuthKey");
+ openapiFields.add("asOverrideEnabled");
openapiFields.add("bfd");
openapiFields.add("href");
openapiFields.add("uuid");
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPType.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPType.java
index 0ce91ca9..7e1594db 100644
--- a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPType.java
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/RoutingProtocolBGPType.java
@@ -122,6 +122,10 @@ public TypeEnum read(final JsonReader jsonReader) throws IOException {
@SerializedName(SERIALIZED_NAME_BGP_AUTH_KEY)
private String bgpAuthKey;
+ public static final String SERIALIZED_NAME_AS_OVERRIDE_ENABLED = "asOverrideEnabled";
+ @SerializedName(SERIALIZED_NAME_AS_OVERRIDE_ENABLED)
+ private Boolean asOverrideEnabled;
+
public static final String SERIALIZED_NAME_BFD = "bfd";
@SerializedName(SERIALIZED_NAME_BFD)
private RoutingProtocolBFD bfd;
@@ -283,6 +287,28 @@ public void setBgpAuthKey(String bgpAuthKey) {
}
+ public RoutingProtocolBGPType asOverrideEnabled(Boolean asOverrideEnabled) {
+
+ this.asOverrideEnabled = asOverrideEnabled;
+ return this;
+ }
+
+ /**
+ * Enable AS number override
+ * @return asOverrideEnabled
+ **/
+ @javax.annotation.Nullable
+
+ public Boolean getAsOverrideEnabled() {
+ return asOverrideEnabled;
+ }
+
+
+ public void setAsOverrideEnabled(Boolean asOverrideEnabled) {
+ this.asOverrideEnabled = asOverrideEnabled;
+ }
+
+
public RoutingProtocolBGPType bfd(RoutingProtocolBFD bfd) {
this.bfd = bfd;
@@ -366,13 +392,14 @@ public boolean equals(Object o) {
Objects.equals(this.customerAsn, routingProtocolBGPType.customerAsn) &&
Objects.equals(this.equinixAsn, routingProtocolBGPType.equinixAsn) &&
Objects.equals(this.bgpAuthKey, routingProtocolBGPType.bgpAuthKey) &&
+ Objects.equals(this.asOverrideEnabled, routingProtocolBGPType.asOverrideEnabled) &&
Objects.equals(this.bfd, routingProtocolBGPType.bfd)&&
Objects.equals(this.additionalProperties, routingProtocolBGPType.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(type, name, bgpIpv4, bgpIpv6, customerAsn, equinixAsn, bgpAuthKey, bfd, additionalProperties);
+ return Objects.hash(type, name, bgpIpv4, bgpIpv6, customerAsn, equinixAsn, bgpAuthKey, asOverrideEnabled, bfd, additionalProperties);
}
@Override
@@ -386,6 +413,7 @@ public String toString() {
sb.append(" customerAsn: ").append(toIndentedString(customerAsn)).append("\n");
sb.append(" equinixAsn: ").append(toIndentedString(equinixAsn)).append("\n");
sb.append(" bgpAuthKey: ").append(toIndentedString(bgpAuthKey)).append("\n");
+ sb.append(" asOverrideEnabled: ").append(toIndentedString(asOverrideEnabled)).append("\n");
sb.append(" bfd: ").append(toIndentedString(bfd)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
@@ -417,6 +445,7 @@ private String toIndentedString(Object o) {
openapiFields.add("customerAsn");
openapiFields.add("equinixAsn");
openapiFields.add("bgpAuthKey");
+ openapiFields.add("asOverrideEnabled");
openapiFields.add("bfd");
// a set of required properties/fields (JSON key names)
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceSearchResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceSearchResponse.java
new file mode 100644
index 00000000..3e5a20f4
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/ServiceSearchResponse.java
@@ -0,0 +1,334 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.PrecisionTimeServiceResponse;
+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;
+
+/**
+ * ServiceSearchResponse
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class ServiceSearchResponse {
+ 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 ServiceSearchResponse() {
+ }
+
+ public ServiceSearchResponse 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 ServiceSearchResponse data(List data) {
+
+ this.data = data;
+ return this;
+ }
+
+ public ServiceSearchResponse addDataItem(PrecisionTimeServiceResponse dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ return this;
+ }
+
+ /**
+ * Data returned from the API call.
+ * @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 ServiceSearchResponse instance itself
+ */
+ public ServiceSearchResponse 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;
+ }
+ ServiceSearchResponse serviceSearchResponse = (ServiceSearchResponse) o;
+ return Objects.equals(this.pagination, serviceSearchResponse.pagination) &&
+ Objects.equals(this.data, serviceSearchResponse.data)&&
+ Objects.equals(this.additionalProperties, serviceSearchResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pagination, data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ServiceSearchResponse {\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 ServiceSearchResponse
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!ServiceSearchResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in ServiceSearchResponse is not found in the empty JSON string", ServiceSearchResponse.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++) {
+ PrecisionTimeServiceResponse.validateJsonObject(jsonArraydata.get(i).getAsJsonObject());
+ };
+ }
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!ServiceSearchResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'ServiceSearchResponse' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(ServiceSearchResponse.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, ServiceSearchResponse 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 ServiceSearchResponse read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ ServiceSearchResponse 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 ServiceSearchResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of ServiceSearchResponse
+ * @throws IOException if the JSON string is invalid with respect to ServiceSearchResponse
+ */
+ public static ServiceSearchResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, ServiceSearchResponse.class);
+ }
+
+ /**
+ * Convert an instance of ServiceSearchResponse 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/SubscriptionAsset.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAsset.java
new file mode 100644
index 00000000..e5e6fa44
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAsset.java
@@ -0,0 +1,339 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.SubscriptionAssetType;
+import com.equinix.openapi.fabric.v4.model.SubscriptionRouterPackageType;
+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;
+
+/**
+ * Asset information
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SubscriptionAsset {
+ public static final String SERIALIZED_NAME_TYPE = "type";
+ @SerializedName(SERIALIZED_NAME_TYPE)
+ private SubscriptionAssetType type;
+
+ public static final String SERIALIZED_NAME_PACKAGE = "package";
+ @SerializedName(SERIALIZED_NAME_PACKAGE)
+ private SubscriptionRouterPackageType _package;
+
+ public static final String SERIALIZED_NAME_BANDWIDTH = "bandwidth";
+ @SerializedName(SERIALIZED_NAME_BANDWIDTH)
+ private Integer bandwidth;
+
+ public SubscriptionAsset() {
+ }
+
+ public SubscriptionAsset type(SubscriptionAssetType type) {
+
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ * @return type
+ **/
+ @javax.annotation.Nullable
+
+ public SubscriptionAssetType getType() {
+ return type;
+ }
+
+
+ public void setType(SubscriptionAssetType type) {
+ this.type = type;
+ }
+
+
+ public SubscriptionAsset _package(SubscriptionRouterPackageType _package) {
+
+ this._package = _package;
+ return this;
+ }
+
+ /**
+ * Get _package
+ * @return _package
+ **/
+ @javax.annotation.Nullable
+
+ public SubscriptionRouterPackageType getPackage() {
+ return _package;
+ }
+
+
+ public void setPackage(SubscriptionRouterPackageType _package) {
+ this._package = _package;
+ }
+
+
+ public SubscriptionAsset bandwidth(Integer bandwidth) {
+
+ this.bandwidth = bandwidth;
+ return this;
+ }
+
+ /**
+ * Get bandwidth
+ * @return bandwidth
+ **/
+ @javax.annotation.Nullable
+
+ public Integer getBandwidth() {
+ return bandwidth;
+ }
+
+
+ public void setBandwidth(Integer bandwidth) {
+ this.bandwidth = bandwidth;
+ }
+
+ /**
+ * 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 SubscriptionAsset instance itself
+ */
+ public SubscriptionAsset 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;
+ }
+ SubscriptionAsset subscriptionAsset = (SubscriptionAsset) o;
+ return Objects.equals(this.type, subscriptionAsset.type) &&
+ Objects.equals(this._package, subscriptionAsset._package) &&
+ Objects.equals(this.bandwidth, subscriptionAsset.bandwidth)&&
+ Objects.equals(this.additionalProperties, subscriptionAsset.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, _package, bandwidth, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SubscriptionAsset {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" _package: ").append(toIndentedString(_package)).append("\n");
+ sb.append(" bandwidth: ").append(toIndentedString(bandwidth)).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("package");
+ openapiFields.add("bandwidth");
+
+ // 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 SubscriptionAsset
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!SubscriptionAsset.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in SubscriptionAsset is not found in the empty JSON string", SubscriptionAsset.openapiRequiredFields.toString()));
+ }
+ }
+ // validate the optional field `package`
+ if (jsonObj.get("package") != null && !jsonObj.get("package").isJsonNull()) {
+ SubscriptionRouterPackageType.validateJsonObject(jsonObj.getAsJsonObject("package"));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!SubscriptionAsset.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'SubscriptionAsset' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(SubscriptionAsset.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, SubscriptionAsset 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 SubscriptionAsset read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ SubscriptionAsset 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 SubscriptionAsset given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of SubscriptionAsset
+ * @throws IOException if the JSON string is invalid with respect to SubscriptionAsset
+ */
+ public static SubscriptionAsset fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, SubscriptionAsset.class);
+ }
+
+ /**
+ * Convert an instance of SubscriptionAsset 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/SubscriptionAssetType.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAssetType.java
new file mode 100644
index 00000000..b1e1f066
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionAssetType.java
@@ -0,0 +1,71 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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;
+
+/**
+ * Gets or Sets SubscriptionAssetType
+ */
+@JsonAdapter(SubscriptionAssetType.Adapter.class)
+public enum SubscriptionAssetType {
+
+ XF_ROUTER("XF_ROUTER"),
+
+ IP_VC("IP_VC");
+
+ private String value;
+
+ SubscriptionAssetType(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static SubscriptionAssetType fromValue(String value) {
+ for (SubscriptionAssetType b : SubscriptionAssetType.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 SubscriptionAssetType enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public SubscriptionAssetType read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return SubscriptionAssetType.fromValue(value);
+ }
+ }
+}
+
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionEntitlementResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionEntitlementResponse.java
new file mode 100644
index 00000000..54d81e8d
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionEntitlementResponse.java
@@ -0,0 +1,403 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.SubscriptionAsset;
+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.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;
+
+/**
+ * Subscription entitlement
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SubscriptionEntitlementResponse {
+ public static final String SERIALIZED_NAME_UUID = "uuid";
+ @SerializedName(SERIALIZED_NAME_UUID)
+ private UUID uuid;
+
+ public static final String SERIALIZED_NAME_QUANTITY_ENTITLED = "quantityEntitled";
+ @SerializedName(SERIALIZED_NAME_QUANTITY_ENTITLED)
+ private Integer quantityEntitled;
+
+ public static final String SERIALIZED_NAME_QUANTITY_CONSUMED = "quantityConsumed";
+ @SerializedName(SERIALIZED_NAME_QUANTITY_CONSUMED)
+ private Integer quantityConsumed;
+
+ public static final String SERIALIZED_NAME_QUANTITY_AVAILABLE = "quantityAvailable";
+ @SerializedName(SERIALIZED_NAME_QUANTITY_AVAILABLE)
+ private Integer quantityAvailable;
+
+ public static final String SERIALIZED_NAME_ASSET = "asset";
+ @SerializedName(SERIALIZED_NAME_ASSET)
+ private SubscriptionAsset asset;
+
+ public SubscriptionEntitlementResponse() {
+ }
+
+ public SubscriptionEntitlementResponse uuid(UUID uuid) {
+
+ this.uuid = uuid;
+ return this;
+ }
+
+ /**
+ * Subscription Entitlement Id
+ * @return uuid
+ **/
+ @javax.annotation.Nullable
+
+ public UUID getUuid() {
+ return uuid;
+ }
+
+
+ public void setUuid(UUID uuid) {
+ this.uuid = uuid;
+ }
+
+
+ public SubscriptionEntitlementResponse quantityEntitled(Integer quantityEntitled) {
+
+ this.quantityEntitled = quantityEntitled;
+ return this;
+ }
+
+ /**
+ * Get quantityEntitled
+ * minimum: 0
+ * @return quantityEntitled
+ **/
+ @javax.annotation.Nullable
+
+ public Integer getQuantityEntitled() {
+ return quantityEntitled;
+ }
+
+
+ public void setQuantityEntitled(Integer quantityEntitled) {
+ this.quantityEntitled = quantityEntitled;
+ }
+
+
+ public SubscriptionEntitlementResponse quantityConsumed(Integer quantityConsumed) {
+
+ this.quantityConsumed = quantityConsumed;
+ return this;
+ }
+
+ /**
+ * Get quantityConsumed
+ * minimum: 0
+ * @return quantityConsumed
+ **/
+ @javax.annotation.Nullable
+
+ public Integer getQuantityConsumed() {
+ return quantityConsumed;
+ }
+
+
+ public void setQuantityConsumed(Integer quantityConsumed) {
+ this.quantityConsumed = quantityConsumed;
+ }
+
+
+ public SubscriptionEntitlementResponse quantityAvailable(Integer quantityAvailable) {
+
+ this.quantityAvailable = quantityAvailable;
+ return this;
+ }
+
+ /**
+ * Get quantityAvailable
+ * minimum: 0
+ * @return quantityAvailable
+ **/
+ @javax.annotation.Nullable
+
+ public Integer getQuantityAvailable() {
+ return quantityAvailable;
+ }
+
+
+ public void setQuantityAvailable(Integer quantityAvailable) {
+ this.quantityAvailable = quantityAvailable;
+ }
+
+
+ public SubscriptionEntitlementResponse asset(SubscriptionAsset asset) {
+
+ this.asset = asset;
+ return this;
+ }
+
+ /**
+ * Get asset
+ * @return asset
+ **/
+ @javax.annotation.Nullable
+
+ public SubscriptionAsset getAsset() {
+ return asset;
+ }
+
+
+ public void setAsset(SubscriptionAsset asset) {
+ this.asset = asset;
+ }
+
+ /**
+ * 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 SubscriptionEntitlementResponse instance itself
+ */
+ public SubscriptionEntitlementResponse 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;
+ }
+ SubscriptionEntitlementResponse subscriptionEntitlementResponse = (SubscriptionEntitlementResponse) o;
+ return Objects.equals(this.uuid, subscriptionEntitlementResponse.uuid) &&
+ Objects.equals(this.quantityEntitled, subscriptionEntitlementResponse.quantityEntitled) &&
+ Objects.equals(this.quantityConsumed, subscriptionEntitlementResponse.quantityConsumed) &&
+ Objects.equals(this.quantityAvailable, subscriptionEntitlementResponse.quantityAvailable) &&
+ Objects.equals(this.asset, subscriptionEntitlementResponse.asset)&&
+ Objects.equals(this.additionalProperties, subscriptionEntitlementResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(uuid, quantityEntitled, quantityConsumed, quantityAvailable, asset, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SubscriptionEntitlementResponse {\n");
+ sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
+ sb.append(" quantityEntitled: ").append(toIndentedString(quantityEntitled)).append("\n");
+ sb.append(" quantityConsumed: ").append(toIndentedString(quantityConsumed)).append("\n");
+ sb.append(" quantityAvailable: ").append(toIndentedString(quantityAvailable)).append("\n");
+ sb.append(" asset: ").append(toIndentedString(asset)).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("quantityEntitled");
+ openapiFields.add("quantityConsumed");
+ openapiFields.add("quantityAvailable");
+ openapiFields.add("asset");
+
+ // 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 SubscriptionEntitlementResponse
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!SubscriptionEntitlementResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in SubscriptionEntitlementResponse is not found in the empty JSON string", SubscriptionEntitlementResponse.openapiRequiredFields.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()));
+ }
+ // validate the optional field `asset`
+ if (jsonObj.get("asset") != null && !jsonObj.get("asset").isJsonNull()) {
+ SubscriptionAsset.validateJsonObject(jsonObj.getAsJsonObject("asset"));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!SubscriptionEntitlementResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'SubscriptionEntitlementResponse' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(SubscriptionEntitlementResponse.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, SubscriptionEntitlementResponse 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 SubscriptionEntitlementResponse read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ SubscriptionEntitlementResponse 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 SubscriptionEntitlementResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of SubscriptionEntitlementResponse
+ * @throws IOException if the JSON string is invalid with respect to SubscriptionEntitlementResponse
+ */
+ public static SubscriptionEntitlementResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, SubscriptionEntitlementResponse.class);
+ }
+
+ /**
+ * Convert an instance of SubscriptionEntitlementResponse 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/SubscriptionResponse.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionResponse.java
new file mode 100644
index 00000000..9d4183f3
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionResponse.java
@@ -0,0 +1,719 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.SubscriptionEntitlementResponse;
+import com.equinix.openapi.fabric.v4.model.SubscriptionStatus;
+import com.equinix.openapi.fabric.v4.model.SubscriptionTrial;
+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;
+
+/**
+ * Subscription
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SubscriptionResponse {
+ 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 static final String SERIALIZED_NAME_STATUS = "status";
+ @SerializedName(SERIALIZED_NAME_STATUS)
+ private SubscriptionStatus status;
+
+ /**
+ * Gets or Sets marketplace
+ */
+ @JsonAdapter(MarketplaceEnum.Adapter.class)
+ public enum MarketplaceEnum {
+ AWS("AWS"),
+
+ GCP("GCP"),
+
+ AZURE("AZURE"),
+
+ REDHAT("REDHAT");
+
+ private String value;
+
+ MarketplaceEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static MarketplaceEnum fromValue(String value) {
+ for (MarketplaceEnum b : MarketplaceEnum.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 MarketplaceEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public MarketplaceEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return MarketplaceEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_MARKETPLACE = "marketplace";
+ @SerializedName(SERIALIZED_NAME_MARKETPLACE)
+ private MarketplaceEnum marketplace;
+
+ /**
+ * Gets or Sets offerType
+ */
+ @JsonAdapter(OfferTypeEnum.Adapter.class)
+ public enum OfferTypeEnum {
+ PUBLIC("PUBLIC"),
+
+ PRIVATE_OFFER("PRIVATE_OFFER");
+
+ private String value;
+
+ OfferTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static OfferTypeEnum fromValue(String value) {
+ for (OfferTypeEnum b : OfferTypeEnum.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 OfferTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public OfferTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return OfferTypeEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_OFFER_TYPE = "offerType";
+ @SerializedName(SERIALIZED_NAME_OFFER_TYPE)
+ private OfferTypeEnum offerType;
+
+ public static final String SERIALIZED_NAME_IS_AUTO_RENEW = "isAutoRenew";
+ @SerializedName(SERIALIZED_NAME_IS_AUTO_RENEW)
+ private Boolean isAutoRenew;
+
+ public static final String SERIALIZED_NAME_OFFER_ID = "offerId";
+ @SerializedName(SERIALIZED_NAME_OFFER_ID)
+ private String offerId;
+
+ public static final String SERIALIZED_NAME_TRIAL = "trial";
+ @SerializedName(SERIALIZED_NAME_TRIAL)
+ private SubscriptionTrial trial;
+
+ public static final String SERIALIZED_NAME_SUBSCRIPTION_KEY = "subscriptionKey";
+ @SerializedName(SERIALIZED_NAME_SUBSCRIPTION_KEY)
+ private String subscriptionKey;
+
+ public static final String SERIALIZED_NAME_ENTITLEMENTS = "entitlements";
+ @SerializedName(SERIALIZED_NAME_ENTITLEMENTS)
+ private List entitlements = new ArrayList<>();
+
+ public static final String SERIALIZED_NAME_CHANGELOG = "changelog";
+ @SerializedName(SERIALIZED_NAME_CHANGELOG)
+ private Changelog changelog;
+
+ public SubscriptionResponse() {
+ }
+
+ public SubscriptionResponse href(URI href) {
+
+ this.href = href;
+ return this;
+ }
+
+ /**
+ * Get href
+ * @return href
+ **/
+ @javax.annotation.Nullable
+
+ public URI getHref() {
+ return href;
+ }
+
+
+ public void setHref(URI href) {
+ this.href = href;
+ }
+
+
+ public SubscriptionResponse uuid(UUID uuid) {
+
+ this.uuid = uuid;
+ return this;
+ }
+
+ /**
+ * Get uuid
+ * @return uuid
+ **/
+ @javax.annotation.Nullable
+
+ public UUID getUuid() {
+ return uuid;
+ }
+
+
+ public void setUuid(UUID uuid) {
+ this.uuid = uuid;
+ }
+
+
+ public SubscriptionResponse status(SubscriptionStatus status) {
+
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get status
+ * @return status
+ **/
+ @javax.annotation.Nullable
+
+ public SubscriptionStatus getStatus() {
+ return status;
+ }
+
+
+ public void setStatus(SubscriptionStatus status) {
+ this.status = status;
+ }
+
+
+ public SubscriptionResponse marketplace(MarketplaceEnum marketplace) {
+
+ this.marketplace = marketplace;
+ return this;
+ }
+
+ /**
+ * Get marketplace
+ * @return marketplace
+ **/
+ @javax.annotation.Nullable
+
+ public MarketplaceEnum getMarketplace() {
+ return marketplace;
+ }
+
+
+ public void setMarketplace(MarketplaceEnum marketplace) {
+ this.marketplace = marketplace;
+ }
+
+
+ public SubscriptionResponse offerType(OfferTypeEnum offerType) {
+
+ this.offerType = offerType;
+ return this;
+ }
+
+ /**
+ * Get offerType
+ * @return offerType
+ **/
+ @javax.annotation.Nullable
+
+ public OfferTypeEnum getOfferType() {
+ return offerType;
+ }
+
+
+ public void setOfferType(OfferTypeEnum offerType) {
+ this.offerType = offerType;
+ }
+
+
+ public SubscriptionResponse isAutoRenew(Boolean isAutoRenew) {
+
+ this.isAutoRenew = isAutoRenew;
+ return this;
+ }
+
+ /**
+ * Get isAutoRenew
+ * @return isAutoRenew
+ **/
+ @javax.annotation.Nullable
+
+ public Boolean getIsAutoRenew() {
+ return isAutoRenew;
+ }
+
+
+ public void setIsAutoRenew(Boolean isAutoRenew) {
+ this.isAutoRenew = isAutoRenew;
+ }
+
+
+ public SubscriptionResponse offerId(String offerId) {
+
+ this.offerId = offerId;
+ return this;
+ }
+
+ /**
+ * Get offerId
+ * @return offerId
+ **/
+ @javax.annotation.Nullable
+
+ public String getOfferId() {
+ return offerId;
+ }
+
+
+ public void setOfferId(String offerId) {
+ this.offerId = offerId;
+ }
+
+
+ public SubscriptionResponse trial(SubscriptionTrial trial) {
+
+ this.trial = trial;
+ return this;
+ }
+
+ /**
+ * Get trial
+ * @return trial
+ **/
+ @javax.annotation.Nullable
+
+ public SubscriptionTrial getTrial() {
+ return trial;
+ }
+
+
+ public void setTrial(SubscriptionTrial trial) {
+ this.trial = trial;
+ }
+
+
+ public SubscriptionResponse subscriptionKey(String subscriptionKey) {
+
+ this.subscriptionKey = subscriptionKey;
+ return this;
+ }
+
+ /**
+ * Get subscriptionKey
+ * @return subscriptionKey
+ **/
+ @javax.annotation.Nullable
+
+ public String getSubscriptionKey() {
+ return subscriptionKey;
+ }
+
+
+ public void setSubscriptionKey(String subscriptionKey) {
+ this.subscriptionKey = subscriptionKey;
+ }
+
+
+ public SubscriptionResponse entitlements(List entitlements) {
+
+ this.entitlements = entitlements;
+ return this;
+ }
+
+ public SubscriptionResponse addEntitlementsItem(SubscriptionEntitlementResponse entitlementsItem) {
+ if (this.entitlements == null) {
+ this.entitlements = new ArrayList<>();
+ }
+ this.entitlements.add(entitlementsItem);
+ return this;
+ }
+
+ /**
+ * Get entitlements
+ * @return entitlements
+ **/
+ @javax.annotation.Nullable
+
+ public List getEntitlements() {
+ return entitlements;
+ }
+
+
+ public void setEntitlements(List entitlements) {
+ this.entitlements = entitlements;
+ }
+
+
+ public SubscriptionResponse 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 SubscriptionResponse instance itself
+ */
+ public SubscriptionResponse 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;
+ }
+ SubscriptionResponse subscriptionResponse = (SubscriptionResponse) o;
+ return Objects.equals(this.href, subscriptionResponse.href) &&
+ Objects.equals(this.uuid, subscriptionResponse.uuid) &&
+ Objects.equals(this.status, subscriptionResponse.status) &&
+ Objects.equals(this.marketplace, subscriptionResponse.marketplace) &&
+ Objects.equals(this.offerType, subscriptionResponse.offerType) &&
+ Objects.equals(this.isAutoRenew, subscriptionResponse.isAutoRenew) &&
+ Objects.equals(this.offerId, subscriptionResponse.offerId) &&
+ Objects.equals(this.trial, subscriptionResponse.trial) &&
+ Objects.equals(this.subscriptionKey, subscriptionResponse.subscriptionKey) &&
+ Objects.equals(this.entitlements, subscriptionResponse.entitlements) &&
+ Objects.equals(this.changelog, subscriptionResponse.changelog)&&
+ Objects.equals(this.additionalProperties, subscriptionResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(href, uuid, status, marketplace, offerType, isAutoRenew, offerId, trial, subscriptionKey, entitlements, changelog, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SubscriptionResponse {\n");
+ sb.append(" href: ").append(toIndentedString(href)).append("\n");
+ sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" marketplace: ").append(toIndentedString(marketplace)).append("\n");
+ sb.append(" offerType: ").append(toIndentedString(offerType)).append("\n");
+ sb.append(" isAutoRenew: ").append(toIndentedString(isAutoRenew)).append("\n");
+ sb.append(" offerId: ").append(toIndentedString(offerId)).append("\n");
+ sb.append(" trial: ").append(toIndentedString(trial)).append("\n");
+ sb.append(" subscriptionKey: ").append(toIndentedString(subscriptionKey)).append("\n");
+ sb.append(" entitlements: ").append(toIndentedString(entitlements)).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("uuid");
+ openapiFields.add("status");
+ openapiFields.add("marketplace");
+ openapiFields.add("offerType");
+ openapiFields.add("isAutoRenew");
+ openapiFields.add("offerId");
+ openapiFields.add("trial");
+ openapiFields.add("subscriptionKey");
+ openapiFields.add("entitlements");
+ 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 SubscriptionResponse
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!SubscriptionResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in SubscriptionResponse is not found in the empty JSON string", SubscriptionResponse.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("marketplace") != null && !jsonObj.get("marketplace").isJsonNull()) && !jsonObj.get("marketplace").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `marketplace` to be a primitive type in the JSON string but got `%s`", jsonObj.get("marketplace").toString()));
+ }
+ if ((jsonObj.get("offerType") != null && !jsonObj.get("offerType").isJsonNull()) && !jsonObj.get("offerType").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `offerType` to be a primitive type in the JSON string but got `%s`", jsonObj.get("offerType").toString()));
+ }
+ if ((jsonObj.get("offerId") != null && !jsonObj.get("offerId").isJsonNull()) && !jsonObj.get("offerId").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `offerId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("offerId").toString()));
+ }
+ // validate the optional field `trial`
+ if (jsonObj.get("trial") != null && !jsonObj.get("trial").isJsonNull()) {
+ SubscriptionTrial.validateJsonObject(jsonObj.getAsJsonObject("trial"));
+ }
+ if ((jsonObj.get("subscriptionKey") != null && !jsonObj.get("subscriptionKey").isJsonNull()) && !jsonObj.get("subscriptionKey").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `subscriptionKey` to be a primitive type in the JSON string but got `%s`", jsonObj.get("subscriptionKey").toString()));
+ }
+ if (jsonObj.get("entitlements") != null && !jsonObj.get("entitlements").isJsonNull()) {
+ JsonArray jsonArrayentitlements = jsonObj.getAsJsonArray("entitlements");
+ if (jsonArrayentitlements != null) {
+ // ensure the json data is an array
+ if (!jsonObj.get("entitlements").isJsonArray()) {
+ throw new IllegalArgumentException(String.format("Expected the field `entitlements` to be an array in the JSON string but got `%s`", jsonObj.get("entitlements").toString()));
+ }
+
+ // validate the optional field `entitlements` (array)
+ for (int i = 0; i < jsonArrayentitlements.size(); i++) {
+ SubscriptionEntitlementResponse.validateJsonObject(jsonArrayentitlements.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 (!SubscriptionResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'SubscriptionResponse' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(SubscriptionResponse.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, SubscriptionResponse 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 SubscriptionResponse read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ SubscriptionResponse 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 SubscriptionResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of SubscriptionResponse
+ * @throws IOException if the JSON string is invalid with respect to SubscriptionResponse
+ */
+ public static SubscriptionResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, SubscriptionResponse.class);
+ }
+
+ /**
+ * Convert an instance of SubscriptionResponse 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/SubscriptionRouterPackageType.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionRouterPackageType.java
new file mode 100644
index 00000000..2f0e0114
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionRouterPackageType.java
@@ -0,0 +1,325 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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;
+
+/**
+ * Cloud Router Package Type
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SubscriptionRouterPackageType {
+ /**
+ * Cloud Router package code
+ */
+ @JsonAdapter(CodeEnum.Adapter.class)
+ public enum CodeEnum {
+ ADVANCED("ADVANCED"),
+
+ STANDARD("STANDARD");
+
+ private String value;
+
+ CodeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodeEnum fromValue(String value) {
+ for (CodeEnum b : CodeEnum.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 CodeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public CodeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return CodeEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_CODE = "code";
+ @SerializedName(SERIALIZED_NAME_CODE)
+ private CodeEnum code;
+
+ public SubscriptionRouterPackageType() {
+ }
+
+ public SubscriptionRouterPackageType code(CodeEnum code) {
+
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Cloud Router package code
+ * @return code
+ **/
+ @javax.annotation.Nullable
+
+ public CodeEnum getCode() {
+ return code;
+ }
+
+
+ public void setCode(CodeEnum code) {
+ this.code = code;
+ }
+
+ /**
+ * 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 SubscriptionRouterPackageType instance itself
+ */
+ public SubscriptionRouterPackageType 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;
+ }
+ SubscriptionRouterPackageType subscriptionRouterPackageType = (SubscriptionRouterPackageType) o;
+ return Objects.equals(this.code, subscriptionRouterPackageType.code)&&
+ Objects.equals(this.additionalProperties, subscriptionRouterPackageType.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(code, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SubscriptionRouterPackageType {\n");
+ sb.append(" code: ").append(toIndentedString(code)).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("code");
+
+ // 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 SubscriptionRouterPackageType
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!SubscriptionRouterPackageType.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in SubscriptionRouterPackageType is not found in the empty JSON string", SubscriptionRouterPackageType.openapiRequiredFields.toString()));
+ }
+ }
+ if ((jsonObj.get("code") != null && !jsonObj.get("code").isJsonNull()) && !jsonObj.get("code").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format("Expected the field `code` to be a primitive type in the JSON string but got `%s`", jsonObj.get("code").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!SubscriptionRouterPackageType.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'SubscriptionRouterPackageType' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(SubscriptionRouterPackageType.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, SubscriptionRouterPackageType 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 SubscriptionRouterPackageType read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ SubscriptionRouterPackageType 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 SubscriptionRouterPackageType given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of SubscriptionRouterPackageType
+ * @throws IOException if the JSON string is invalid with respect to SubscriptionRouterPackageType
+ */
+ public static SubscriptionRouterPackageType fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, SubscriptionRouterPackageType.class);
+ }
+
+ /**
+ * Convert an instance of SubscriptionRouterPackageType 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/SubscriptionStatus.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionStatus.java
new file mode 100644
index 00000000..986c9cb0
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionStatus.java
@@ -0,0 +1,75 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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;
+
+/**
+ * Gets or Sets SubscriptionStatus
+ */
+@JsonAdapter(SubscriptionStatus.Adapter.class)
+public enum SubscriptionStatus {
+
+ ACTIVE("ACTIVE"),
+
+ EXPIRED("EXPIRED"),
+
+ CANCELLED("CANCELLED"),
+
+ GRACE_PERIOD("GRACE_PERIOD");
+
+ private String value;
+
+ SubscriptionStatus(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static SubscriptionStatus fromValue(String value) {
+ for (SubscriptionStatus b : SubscriptionStatus.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 SubscriptionStatus enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public SubscriptionStatus read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return SubscriptionStatus.fromValue(value);
+ }
+ }
+}
+
diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionTrial.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionTrial.java
new file mode 100644
index 00000000..dbb2895a
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/SubscriptionTrial.java
@@ -0,0 +1,305 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.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;
+
+/**
+ * Trial
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SubscriptionTrial {
+ public static final String SERIALIZED_NAME_ENABLED = "enabled";
+ @SerializedName(SERIALIZED_NAME_ENABLED)
+ private Boolean enabled;
+
+ public static final String SERIALIZED_NAME_EXPIRY_DATE_TIME = "expiryDateTime";
+ @SerializedName(SERIALIZED_NAME_EXPIRY_DATE_TIME)
+ private OffsetDateTime expiryDateTime;
+
+ public SubscriptionTrial() {
+ }
+
+ public SubscriptionTrial enabled(Boolean enabled) {
+
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get enabled
+ * @return enabled
+ **/
+ @javax.annotation.Nullable
+
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+
+ public SubscriptionTrial expiryDateTime(OffsetDateTime expiryDateTime) {
+
+ this.expiryDateTime = expiryDateTime;
+ return this;
+ }
+
+ /**
+ * Get expiryDateTime
+ * @return expiryDateTime
+ **/
+ @javax.annotation.Nullable
+
+ public OffsetDateTime getExpiryDateTime() {
+ return expiryDateTime;
+ }
+
+
+ public void setExpiryDateTime(OffsetDateTime expiryDateTime) {
+ this.expiryDateTime = expiryDateTime;
+ }
+
+ /**
+ * 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 SubscriptionTrial instance itself
+ */
+ public SubscriptionTrial 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;
+ }
+ SubscriptionTrial subscriptionTrial = (SubscriptionTrial) o;
+ return Objects.equals(this.enabled, subscriptionTrial.enabled) &&
+ Objects.equals(this.expiryDateTime, subscriptionTrial.expiryDateTime)&&
+ Objects.equals(this.additionalProperties, subscriptionTrial.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, expiryDateTime, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SubscriptionTrial {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" expiryDateTime: ").append(toIndentedString(expiryDateTime)).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("enabled");
+ openapiFields.add("expiryDateTime");
+
+ // 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 SubscriptionTrial
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!SubscriptionTrial.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in SubscriptionTrial is not found in the empty JSON string", SubscriptionTrial.openapiRequiredFields.toString()));
+ }
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!SubscriptionTrial.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'SubscriptionTrial' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(SubscriptionTrial.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, SubscriptionTrial 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 SubscriptionTrial read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ SubscriptionTrial 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 SubscriptionTrial given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of SubscriptionTrial
+ * @throws IOException if the JSON string is invalid with respect to SubscriptionTrial
+ */
+ public static SubscriptionTrial fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, SubscriptionTrial.class);
+ }
+
+ /**
+ * Convert an instance of SubscriptionTrial 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/TimeServiceFilter.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilter.java
new file mode 100644
index 00000000..887e2e87
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilter.java
@@ -0,0 +1,274 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.TimeServiceOrFilter;
+import com.equinix.openapi.fabric.v4.model.TimeServiceSimpleExpression;
+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 javax.ws.rs.core.GenericType;
+
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonParseException;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.JsonPrimitive;
+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 com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+
+import com.equinix.openapi.fabric.JSON;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class TimeServiceFilter extends AbstractOpenApiSchema {
+ private static final Logger log = Logger.getLogger(TimeServiceFilter.class.getName());
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!TimeServiceFilter.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'TimeServiceFilter' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter adapterTimeServiceOrFilter = gson.getDelegateAdapter(this, TypeToken.get(TimeServiceOrFilter.class));
+ final TypeAdapter adapterTimeServiceSimpleExpression = gson.getDelegateAdapter(this, TypeToken.get(TimeServiceSimpleExpression.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, TimeServiceFilter value) throws IOException {
+ if (value == null || value.getActualInstance() == null) {
+ elementAdapter.write(out, null);
+ return;
+ }
+
+ // check if the actual instance is of the type `TimeServiceOrFilter`
+ if (value.getActualInstance() instanceof TimeServiceOrFilter) {
+ JsonObject obj = adapterTimeServiceOrFilter.toJsonTree((TimeServiceOrFilter)value.getActualInstance()).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ return;
+ }
+
+ // check if the actual instance is of the type `TimeServiceSimpleExpression`
+ if (value.getActualInstance() instanceof TimeServiceSimpleExpression) {
+ JsonObject obj = adapterTimeServiceSimpleExpression.toJsonTree((TimeServiceSimpleExpression)value.getActualInstance()).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ return;
+ }
+
+ throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: TimeServiceOrFilter, TimeServiceSimpleExpression");
+ }
+
+ @Override
+ public TimeServiceFilter read(JsonReader in) throws IOException {
+ Object deserialized = null;
+ JsonObject jsonObject = elementAdapter.read(in).getAsJsonObject();
+
+ // deserialize TimeServiceOrFilter
+ try {
+ // validate the JSON object to see if any exception is thrown
+ TimeServiceOrFilter.validateJsonObject(jsonObject);
+ log.log(Level.FINER, "Input data matches schema 'TimeServiceOrFilter'");
+ TimeServiceFilter ret = new TimeServiceFilter();
+ ret.setActualInstance(adapterTimeServiceOrFilter.fromJsonTree(jsonObject));
+ return ret;
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(Level.FINER, "Input data does not match schema 'TimeServiceOrFilter'", e);
+ }
+
+ // deserialize TimeServiceSimpleExpression
+ try {
+ // validate the JSON object to see if any exception is thrown
+ TimeServiceSimpleExpression.validateJsonObject(jsonObject);
+ log.log(Level.FINER, "Input data matches schema 'TimeServiceSimpleExpression'");
+ TimeServiceFilter ret = new TimeServiceFilter();
+ ret.setActualInstance(adapterTimeServiceSimpleExpression.fromJsonTree(jsonObject));
+ return ret;
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(Level.FINER, "Input data does not match schema 'TimeServiceSimpleExpression'", e);
+ }
+
+
+ throw new IOException(String.format("Failed deserialization for TimeServiceFilter: no class matched. JSON: %s", jsonObject.toString()));
+ }
+ }.nullSafe();
+ }
+ }
+
+ // store a list of schema names defined in anyOf
+ public static final Map schemas = new HashMap();
+
+ public TimeServiceFilter() {
+ super("anyOf", Boolean.FALSE);
+ }
+
+ public TimeServiceFilter(TimeServiceOrFilter o) {
+ super("anyOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ public TimeServiceFilter(TimeServiceSimpleExpression o) {
+ super("anyOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ static {
+ schemas.put("TimeServiceOrFilter", new GenericType() {
+ });
+ schemas.put("TimeServiceSimpleExpression", new GenericType() {
+ });
+ }
+
+ @Override
+ public Map getSchemas() {
+ return TimeServiceFilter.schemas;
+ }
+
+ /**
+ * Set the instance that matches the anyOf child schema, check
+ * the instance parameter is valid against the anyOf child schemas:
+ * TimeServiceOrFilter, TimeServiceSimpleExpression
+ *
+ * It could be an instance of the 'anyOf' schemas.
+ * The anyOf child schemas may themselves be a composed schema (allOf, anyOf, anyOf).
+ */
+ @Override
+ public void setActualInstance(Object instance) {
+ if (instance instanceof TimeServiceOrFilter) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (instance instanceof TimeServiceSimpleExpression) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException("Invalid instance type. Must be TimeServiceOrFilter, TimeServiceSimpleExpression");
+ }
+
+ /**
+ * Get the actual instance, which can be the following:
+ * TimeServiceOrFilter, TimeServiceSimpleExpression
+ *
+ * @return The actual instance (TimeServiceOrFilter, TimeServiceSimpleExpression)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `TimeServiceOrFilter`. If the actual instance is not `TimeServiceOrFilter`,
+ * the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `TimeServiceOrFilter`
+ * @throws ClassCastException if the instance is not `TimeServiceOrFilter`
+ */
+ public TimeServiceOrFilter getTimeServiceOrFilter() throws ClassCastException {
+ return (TimeServiceOrFilter)super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `TimeServiceSimpleExpression`. If the actual instance is not `TimeServiceSimpleExpression`,
+ * the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `TimeServiceSimpleExpression`
+ * @throws ClassCastException if the instance is not `TimeServiceSimpleExpression`
+ */
+ public TimeServiceSimpleExpression getTimeServiceSimpleExpression() throws ClassCastException {
+ return (TimeServiceSimpleExpression)super.getActualInstance();
+ }
+
+
+ /**
+ * 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 TimeServiceFilter
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ // validate anyOf schemas one by one
+ int validCount = 0;
+ // validate the json string with TimeServiceOrFilter
+ try {
+ TimeServiceOrFilter.validateJsonObject(jsonObj);
+ return; // return earlier as at least one schema is valid with respect to the Json object
+ //validCount++;
+ } catch (Exception e) {
+ // continue to the next one
+ }
+ // validate the json string with TimeServiceSimpleExpression
+ try {
+ TimeServiceSimpleExpression.validateJsonObject(jsonObj);
+ return; // return earlier as at least one schema is valid with respect to the Json object
+ //validCount++;
+ } catch (Exception e) {
+ // continue to the next one
+ }
+ if (validCount == 0) {
+ throw new IOException(String.format("The JSON string is invalid for TimeServiceFilter with anyOf schemas: TimeServiceOrFilter, TimeServiceSimpleExpression. JSON: %s", jsonObj.toString()));
+ }
+ }
+
+ /**
+ * Create an instance of TimeServiceFilter given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of TimeServiceFilter
+ * @throws IOException if the JSON string is invalid with respect to TimeServiceFilter
+ */
+ public static TimeServiceFilter fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, TimeServiceFilter.class);
+ }
+
+ /**
+ * Convert an instance of TimeServiceFilter 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/TimeServiceFilters.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilters.java
new file mode 100644
index 00000000..a274b4f6
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceFilters.java
@@ -0,0 +1,300 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.TimeServiceFilter;
+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;
+
+/**
+ * TimeServiceFilters
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class TimeServiceFilters {
+ public static final String SERIALIZED_NAME_AND = "and";
+ @SerializedName(SERIALIZED_NAME_AND)
+ private List and = new ArrayList<>();
+
+ public TimeServiceFilters() {
+ }
+
+ public TimeServiceFilters and(List and) {
+
+ this.and = and;
+ return this;
+ }
+
+ public TimeServiceFilters addAndItem(TimeServiceFilter andItem) {
+ if (this.and == null) {
+ this.and = new ArrayList<>();
+ }
+ this.and.add(andItem);
+ return this;
+ }
+
+ /**
+ * Get and
+ * @return and
+ **/
+ @javax.annotation.Nullable
+
+ public List getAnd() {
+ return and;
+ }
+
+
+ public void setAnd(List and) {
+ this.and = and;
+ }
+
+ /**
+ * 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 TimeServiceFilters instance itself
+ */
+ public TimeServiceFilters 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;
+ }
+ TimeServiceFilters timeServiceFilters = (TimeServiceFilters) o;
+ return Objects.equals(this.and, timeServiceFilters.and)&&
+ Objects.equals(this.additionalProperties, timeServiceFilters.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(and, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class TimeServiceFilters {\n");
+ sb.append(" and: ").append(toIndentedString(and)).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("and");
+
+ // 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 TimeServiceFilters
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!TimeServiceFilters.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in TimeServiceFilters is not found in the empty JSON string", TimeServiceFilters.openapiRequiredFields.toString()));
+ }
+ }
+ if (jsonObj.get("and") != null && !jsonObj.get("and").isJsonNull()) {
+ JsonArray jsonArrayand = jsonObj.getAsJsonArray("and");
+ if (jsonArrayand != null) {
+ // ensure the json data is an array
+ if (!jsonObj.get("and").isJsonArray()) {
+ throw new IllegalArgumentException(String.format("Expected the field `and` to be an array in the JSON string but got `%s`", jsonObj.get("and").toString()));
+ }
+
+ // validate the optional field `and` (array)
+ for (int i = 0; i < jsonArrayand.size(); i++) {
+ TimeServiceFilter.validateJsonObject(jsonArrayand.get(i).getAsJsonObject());
+ };
+ }
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!TimeServiceFilters.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'TimeServiceFilters' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(TimeServiceFilters.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, TimeServiceFilters 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 TimeServiceFilters read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ TimeServiceFilters 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 TimeServiceFilters given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of TimeServiceFilters
+ * @throws IOException if the JSON string is invalid with respect to TimeServiceFilters
+ */
+ public static TimeServiceFilters fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, TimeServiceFilters.class);
+ }
+
+ /**
+ * Convert an instance of TimeServiceFilters 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/TimeServiceOrFilter.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceOrFilter.java
new file mode 100644
index 00000000..eb5ceb36
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceOrFilter.java
@@ -0,0 +1,300 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.TimeServiceSimpleExpression;
+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;
+
+/**
+ * TimeServiceOrFilter
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class TimeServiceOrFilter {
+ public static final String SERIALIZED_NAME_OR = "or";
+ @SerializedName(SERIALIZED_NAME_OR)
+ private List or = new ArrayList<>();
+
+ public TimeServiceOrFilter() {
+ }
+
+ public TimeServiceOrFilter or(List or) {
+
+ this.or = or;
+ return this;
+ }
+
+ public TimeServiceOrFilter addOrItem(TimeServiceSimpleExpression orItem) {
+ if (this.or == null) {
+ this.or = new ArrayList<>();
+ }
+ this.or.add(orItem);
+ return this;
+ }
+
+ /**
+ * Get or
+ * @return or
+ **/
+ @javax.annotation.Nullable
+
+ public List getOr() {
+ return or;
+ }
+
+
+ public void setOr(List or) {
+ this.or = or;
+ }
+
+ /**
+ * 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 TimeServiceOrFilter instance itself
+ */
+ public TimeServiceOrFilter 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;
+ }
+ TimeServiceOrFilter timeServiceOrFilter = (TimeServiceOrFilter) o;
+ return Objects.equals(this.or, timeServiceOrFilter.or)&&
+ Objects.equals(this.additionalProperties, timeServiceOrFilter.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(or, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class TimeServiceOrFilter {\n");
+ sb.append(" or: ").append(toIndentedString(or)).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("or");
+
+ // 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 TimeServiceOrFilter
+ */
+ public static void validateJsonObject(JsonObject jsonObj) throws IOException {
+ if (jsonObj == null) {
+ if (!TimeServiceOrFilter.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
+ throw new IllegalArgumentException(String.format("The required field(s) %s in TimeServiceOrFilter is not found in the empty JSON string", TimeServiceOrFilter.openapiRequiredFields.toString()));
+ }
+ }
+ if (jsonObj.get("or") != null && !jsonObj.get("or").isJsonNull()) {
+ JsonArray jsonArrayor = jsonObj.getAsJsonArray("or");
+ if (jsonArrayor != null) {
+ // ensure the json data is an array
+ if (!jsonObj.get("or").isJsonArray()) {
+ throw new IllegalArgumentException(String.format("Expected the field `or` to be an array in the JSON string but got `%s`", jsonObj.get("or").toString()));
+ }
+
+ // validate the optional field `or` (array)
+ for (int i = 0; i < jsonArrayor.size(); i++) {
+ TimeServiceSimpleExpression.validateJsonObject(jsonArrayor.get(i).getAsJsonObject());
+ };
+ }
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!TimeServiceOrFilter.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'TimeServiceOrFilter' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(TimeServiceOrFilter.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, TimeServiceOrFilter 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 TimeServiceOrFilter read(JsonReader in) throws IOException {
+ JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
+ validateJsonObject(jsonObj);
+ // store additional fields in the deserialized instance
+ TimeServiceOrFilter 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 TimeServiceOrFilter given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of TimeServiceOrFilter
+ * @throws IOException if the JSON string is invalid with respect to TimeServiceOrFilter
+ */
+ public static TimeServiceOrFilter fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, TimeServiceOrFilter.class);
+ }
+
+ /**
+ * Convert an instance of TimeServiceOrFilter 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/TimeServiceSimpleExpression.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSimpleExpression.java
new file mode 100644
index 00000000..dbd052ae
--- /dev/null
+++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSimpleExpression.java
@@ -0,0 +1,353 @@
+/*
+ * Equinix Fabric API v4
+ *
+ * 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.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;
+
+/**
+ * TimeServiceSimpleExpression
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class TimeServiceSimpleExpression {
+ public static final String SERIALIZED_NAME_PROPERTY = "property";
+ @SerializedName(SERIALIZED_NAME_PROPERTY)
+ private String property;
+
+ public static final String SERIALIZED_NAME_OPERATOR = "operator";
+ @SerializedName(SERIALIZED_NAME_OPERATOR)
+ private String operator;
+
+ public static final String SERIALIZED_NAME_VALUES = "values";
+ @SerializedName(SERIALIZED_NAME_VALUES)
+ private List values = new ArrayList<>();
+
+ public TimeServiceSimpleExpression() {
+ }
+
+ public TimeServiceSimpleExpression property(String property) {
+
+ this.property = property;
+ return this;
+ }
+
+ /**
+ * Possible field names to use on filters: * `/project/projectId` - project id (mandatory) * `/name` - Precision Time Service name * `/uuid` - Precision Time Service uuid * `/type` - Precision Time Service protocol * `/state` - Precision Time Service status * `/account/accountNumber` - Precision Time Service account number * `/package/code` - Precision Time Service package * `/_*` - all-category search
+ * @return property
+ **/
+ @javax.annotation.Nullable
+
+ public String getProperty() {
+ return property;
+ }
+
+
+ public void setProperty(String property) {
+ this.property = property;
+ }
+
+
+ public TimeServiceSimpleExpression operator(String operator) {
+
+ this.operator = operator;
+ return this;
+ }
+
+ /**
+ * Possible operators to use on filters: * `=` - equal * `!=` - not equal * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `ILIKE` - case-insensitive like
+ * @return operator
+ **/
+ @javax.annotation.Nullable
+
+ public String getOperator() {
+ return operator;
+ }
+
+
+ public void setOperator(String operator) {
+ this.operator = operator;
+ }
+
+
+ public TimeServiceSimpleExpression values(List values) {
+
+ this.values = values;
+ return this;
+ }
+
+ public TimeServiceSimpleExpression addValuesItem(String valuesItem) {
+ if (this.values == null) {
+ this.values = new ArrayList<>();
+ }
+ this.values.add(valuesItem);
+ return this;
+ }
+
+ /**
+ * Get values
+ * @return values
+ **/
+ @javax.annotation.Nullable
+
+ public List getValues() {
+ return values;
+ }
+
+
+ public void setValues(List