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 values) { + this.values = values; + } + + /** + * 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 TimeServiceSimpleExpression instance itself + */ + public TimeServiceSimpleExpression 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; + } + TimeServiceSimpleExpression timeServiceSimpleExpression = (TimeServiceSimpleExpression) o; + return Objects.equals(this.property, timeServiceSimpleExpression.property) && + Objects.equals(this.operator, timeServiceSimpleExpression.operator) && + Objects.equals(this.values, timeServiceSimpleExpression.values)&& + Objects.equals(this.additionalProperties, timeServiceSimpleExpression.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(property, operator, values, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TimeServiceSimpleExpression {\n"); + sb.append(" property: ").append(toIndentedString(property)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + 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("property"); + openapiFields.add("operator"); + openapiFields.add("values"); + + // 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 TimeServiceSimpleExpression + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!TimeServiceSimpleExpression.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in TimeServiceSimpleExpression is not found in the empty JSON string", TimeServiceSimpleExpression.openapiRequiredFields.toString())); + } + } + if ((jsonObj.get("property") != null && !jsonObj.get("property").isJsonNull()) && !jsonObj.get("property").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property").toString())); + } + if ((jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) && !jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("values") != null && !jsonObj.get("values").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `values` to be an array in the JSON string but got `%s`", jsonObj.get("values").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TimeServiceSimpleExpression.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TimeServiceSimpleExpression' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TimeServiceSimpleExpression.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TimeServiceSimpleExpression 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 TimeServiceSimpleExpression read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + TimeServiceSimpleExpression 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 TimeServiceSimpleExpression given an JSON string + * + * @param jsonString JSON string + * @return An instance of TimeServiceSimpleExpression + * @throws IOException if the JSON string is invalid with respect to TimeServiceSimpleExpression + */ + public static TimeServiceSimpleExpression fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TimeServiceSimpleExpression.class); + } + + /** + * Convert an instance of TimeServiceSimpleExpression 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/TimeServiceSortBy.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortBy.java new file mode 100644 index 00000000..1c98156e --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortBy.java @@ -0,0 +1,81 @@ +/* + * 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; + +/** + * Possible field names to use on sorting + */ +@JsonAdapter(TimeServiceSortBy.Adapter.class) +public enum TimeServiceSortBy { + + NAME("/name"), + + UUID("/uuid"), + + STATE("/state"), + + TYPE("/type"), + + PACKAGE_CODE("/package/code"), + + CHANGELOG_CREATEDDATETIME("/changeLog/createdDateTime"), + + CHANGELOG_UPDATEDDATETIME("/changeLog/updatedDateTime"); + + private String value; + + TimeServiceSortBy(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeServiceSortBy fromValue(String value) { + for (TimeServiceSortBy b : TimeServiceSortBy.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 TimeServiceSortBy enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeServiceSortBy read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeServiceSortBy.fromValue(value); + } + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortCriteria.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortCriteria.java new file mode 100644 index 00000000..e102ab82 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortCriteria.java @@ -0,0 +1,306 @@ +/* + * 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.TimeServiceSortBy; +import com.equinix.openapi.fabric.v4.model.TimeServiceSortDirection; +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; + +/** + * TimeServiceSortCriteria + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class TimeServiceSortCriteria { + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private TimeServiceSortDirection direction = TimeServiceSortDirection.DESC; + + public static final String SERIALIZED_NAME_PROPERTY = "property"; + @SerializedName(SERIALIZED_NAME_PROPERTY) + private TimeServiceSortBy property = TimeServiceSortBy.CHANGELOG_UPDATEDDATETIME; + + public TimeServiceSortCriteria() { + } + + public TimeServiceSortCriteria direction(TimeServiceSortDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + + public TimeServiceSortDirection getDirection() { + return direction; + } + + + public void setDirection(TimeServiceSortDirection direction) { + this.direction = direction; + } + + + public TimeServiceSortCriteria property(TimeServiceSortBy property) { + + this.property = property; + return this; + } + + /** + * Get property + * @return property + **/ + @javax.annotation.Nullable + + public TimeServiceSortBy getProperty() { + return property; + } + + + public void setProperty(TimeServiceSortBy property) { + this.property = property; + } + + /** + * 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 TimeServiceSortCriteria instance itself + */ + public TimeServiceSortCriteria 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; + } + TimeServiceSortCriteria timeServiceSortCriteria = (TimeServiceSortCriteria) o; + return Objects.equals(this.direction, timeServiceSortCriteria.direction) && + Objects.equals(this.property, timeServiceSortCriteria.property)&& + Objects.equals(this.additionalProperties, timeServiceSortCriteria.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(direction, property, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TimeServiceSortCriteria {\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append(" property: ").append(toIndentedString(property)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("direction"); + openapiFields.add("property"); + + // 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 TimeServiceSortCriteria + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!TimeServiceSortCriteria.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in TimeServiceSortCriteria is not found in the empty JSON string", TimeServiceSortCriteria.openapiRequiredFields.toString())); + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TimeServiceSortCriteria.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TimeServiceSortCriteria' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TimeServiceSortCriteria.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TimeServiceSortCriteria 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 TimeServiceSortCriteria read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + TimeServiceSortCriteria 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 TimeServiceSortCriteria given an JSON string + * + * @param jsonString JSON string + * @return An instance of TimeServiceSortCriteria + * @throws IOException if the JSON string is invalid with respect to TimeServiceSortCriteria + */ + public static TimeServiceSortCriteria fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TimeServiceSortCriteria.class); + } + + /** + * Convert an instance of TimeServiceSortCriteria 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/TimeServiceSortDirection.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortDirection.java new file mode 100644 index 00000000..8902f2c5 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServiceSortDirection.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; + +/** + * Sorting direction + */ +@JsonAdapter(TimeServiceSortDirection.Adapter.class) +public enum TimeServiceSortDirection { + + DESC("DESC"), + + ASC("ASC"); + + private String value; + + TimeServiceSortDirection(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeServiceSortDirection fromValue(String value) { + for (TimeServiceSortDirection b : TimeServiceSortDirection.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 TimeServiceSortDirection enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeServiceSortDirection read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeServiceSortDirection.fromValue(value); + } + } +} + diff --git a/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServicesSearchRequest.java b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServicesSearchRequest.java new file mode 100644 index 00000000..e9471152 --- /dev/null +++ b/equinix-openapi-fabric/src/main/java/com/equinix/openapi/fabric/v4/model/TimeServicesSearchRequest.java @@ -0,0 +1,368 @@ +/* + * 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.PaginationRequest; +import com.equinix.openapi.fabric.v4.model.TimeServiceFilters; +import com.equinix.openapi.fabric.v4.model.TimeServiceSortCriteria; +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; + +/** + * Search requests containing criteria + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class TimeServicesSearchRequest { + public static final String SERIALIZED_NAME_FILTER = "filter"; + @SerializedName(SERIALIZED_NAME_FILTER) + private TimeServiceFilters filter; + + public static final String SERIALIZED_NAME_PAGINATION = "pagination"; + @SerializedName(SERIALIZED_NAME_PAGINATION) + private PaginationRequest pagination; + + public static final String SERIALIZED_NAME_SORT = "sort"; + @SerializedName(SERIALIZED_NAME_SORT) + private List sort = new ArrayList<>(); + + public TimeServicesSearchRequest() { + } + + public TimeServicesSearchRequest filter(TimeServiceFilters filter) { + + this.filter = filter; + return this; + } + + /** + * Get filter + * @return filter + **/ + @javax.annotation.Nullable + + public TimeServiceFilters getFilter() { + return filter; + } + + + public void setFilter(TimeServiceFilters filter) { + this.filter = filter; + } + + + public TimeServicesSearchRequest pagination(PaginationRequest pagination) { + + this.pagination = pagination; + return this; + } + + /** + * Get pagination + * @return pagination + **/ + @javax.annotation.Nullable + + public PaginationRequest getPagination() { + return pagination; + } + + + public void setPagination(PaginationRequest pagination) { + this.pagination = pagination; + } + + + public TimeServicesSearchRequest sort(List sort) { + + this.sort = sort; + return this; + } + + public TimeServicesSearchRequest addSortItem(TimeServiceSortCriteria sortItem) { + if (this.sort == null) { + this.sort = new ArrayList<>(); + } + this.sort.add(sortItem); + return this; + } + + /** + * Get sort + * @return sort + **/ + @javax.annotation.Nullable + + public List getSort() { + return sort; + } + + + public void setSort(List sort) { + this.sort = sort; + } + + /** + * 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 TimeServicesSearchRequest instance itself + */ + public TimeServicesSearchRequest 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; + } + TimeServicesSearchRequest timeServicesSearchRequest = (TimeServicesSearchRequest) o; + return Objects.equals(this.filter, timeServicesSearchRequest.filter) && + Objects.equals(this.pagination, timeServicesSearchRequest.pagination) && + Objects.equals(this.sort, timeServicesSearchRequest.sort)&& + Objects.equals(this.additionalProperties, timeServicesSearchRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(filter, pagination, sort, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TimeServicesSearchRequest {\n"); + sb.append(" filter: ").append(toIndentedString(filter)).append("\n"); + sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n"); + sb.append(" sort: ").append(toIndentedString(sort)).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("filter"); + openapiFields.add("pagination"); + openapiFields.add("sort"); + + // 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 TimeServicesSearchRequest + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (!TimeServicesSearchRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null + throw new IllegalArgumentException(String.format("The required field(s) %s in TimeServicesSearchRequest is not found in the empty JSON string", TimeServicesSearchRequest.openapiRequiredFields.toString())); + } + } + // validate the optional field `filter` + if (jsonObj.get("filter") != null && !jsonObj.get("filter").isJsonNull()) { + TimeServiceFilters.validateJsonObject(jsonObj.getAsJsonObject("filter")); + } + // validate the optional field `pagination` + if (jsonObj.get("pagination") != null && !jsonObj.get("pagination").isJsonNull()) { + PaginationRequest.validateJsonObject(jsonObj.getAsJsonObject("pagination")); + } + if (jsonObj.get("sort") != null && !jsonObj.get("sort").isJsonNull()) { + JsonArray jsonArraysort = jsonObj.getAsJsonArray("sort"); + if (jsonArraysort != null) { + // ensure the json data is an array + if (!jsonObj.get("sort").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `sort` to be an array in the JSON string but got `%s`", jsonObj.get("sort").toString())); + } + + // validate the optional field `sort` (array) + for (int i = 0; i < jsonArraysort.size(); i++) { + TimeServiceSortCriteria.validateJsonObject(jsonArraysort.get(i).getAsJsonObject()); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TimeServicesSearchRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TimeServicesSearchRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TimeServicesSearchRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TimeServicesSearchRequest 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 TimeServicesSearchRequest read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + TimeServicesSearchRequest 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 TimeServicesSearchRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of TimeServicesSearchRequest + * @throws IOException if the JSON string is invalid with respect to TimeServicesSearchRequest + */ + public static TimeServicesSearchRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TimeServicesSearchRequest.class); + } + + /** + * Convert an instance of TimeServicesSearchRequest to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + From abd9366f23fb08ab5083c2a24251ef8d950246bb Mon Sep 17 00:00:00 2001 From: tutkat Date: Tue, 13 Aug 2024 04:55:41 +0000 Subject: [PATCH 3/3] [create-pull-request] automated change --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d05c5641..7dbc3ff7 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ CRI:=docker # nerdctl OPENAPI_CODEGEN_TAG=v6.4.0 OPENAPI_CODEGEN_IMAGE=openapitools/openapi-generator-cli:${OPENAPI_CODEGEN_TAG} DOCKER_OPENAPI=${CRI} run --rm -u ${CURRENT_UID}:${CURRENT_GID} -v $(CURDIR):/local ${OPENAPI_CODEGEN_IMAGE} -OPENAPI_URL="https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/4.14" +OPENAPI_URL="https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/4.15" generate: clean fetch pre-spec-patch pull docker_generate build_client