From 32dd655745fad58acfc6aa8fa7dd293626c18902 Mon Sep 17 00:00:00 2001 From: Charles Treatman Date: Fri, 14 Jun 2024 13:55:18 -0500 Subject: [PATCH] add targeted sample spec to demonstrate duplicated equivalent refs --- .../v3/parser/test/OpenAPIV3ParserTest.java | 17 +- .../components/schemas/Address.yaml | 20 ++ .../components/schemas/Attribute.yaml | 17 ++ .../components/schemas/AttributeData.yaml | 17 ++ .../components/schemas/AuthToken.yaml | 26 +++ .../components/schemas/AuthTokenInput.yaml | 6 + .../components/schemas/AuthTokenList.yaml | 6 + .../components/schemas/BGPSessionInput.yaml | 13 ++ .../components/schemas/Batch.yaml | 25 ++ .../components/schemas/BatchesList.yaml | 6 + .../components/schemas/BgpConfig.yaml | 61 +++++ .../schemas/BgpConfigRequestInput.yaml | 30 +++ .../schemas/BgpDynamicNeighbor.yaml | 43 ++++ .../BgpDynamicNeighborCreateInput.yaml | 16 ++ .../schemas/BgpDynamicNeighborList.yaml | 8 + .../components/schemas/BgpNeighborData.yaml | 61 +++++ .../components/schemas/BgpRoute.yaml | 6 + .../components/schemas/BgpSession.yaml | 41 ++++ .../components/schemas/BgpSessionList.yaml | 6 + .../schemas/BgpSessionNeighbors.yaml | 7 + .../components/schemas/BondPortData.yaml | 9 + .../schemas/CapacityCheckPerFacilityInfo.yaml | 10 + .../schemas/CapacityCheckPerFacilityList.yaml | 6 + .../schemas/CapacityCheckPerMetroInfo.yaml | 15 ++ .../schemas/CapacityCheckPerMetroList.yaml | 6 + .../components/schemas/CapacityInput.yaml | 6 + .../schemas/CapacityLevelPerBaremetal.yaml | 5 + .../components/schemas/CapacityList.yaml | 4 + .../components/schemas/CapacityReport.yaml | 5 + .../components/schemas/Component.yaml | 55 +++++ .../components/schemas/Coordinates.yaml | 6 + .../components/schemas/CreateEmailInput.yaml | 6 + .../CreateSelfServiceReservationRequest.yaml | 23 ++ .../schemas/DedicatedPortCreateInput.yaml | 53 +++++ .../components/schemas/Device.yaml | 181 +++++++++++++++ .../components/schemas/DeviceActionInput.yaml | 30 +++ .../schemas/DeviceCreateInFacilityInput.yaml | 3 + .../schemas/DeviceCreateInMetroInput.yaml | 3 + .../components/schemas/DeviceCreateInput.yaml | 213 ++++++++++++++++++ .../schemas/DeviceHealthRollup.yaml | 16 ++ .../components/schemas/DeviceList.yaml | 8 + .../components/schemas/DeviceUpdateInput.yaml | 36 +++ .../components/schemas/DeviceUsage.yaml | 8 + .../components/schemas/DeviceUsageList.yaml | 6 + .../oas3.fetched/components/schemas/Disk.yaml | 10 + .../components/schemas/Email.yaml | 13 ++ .../components/schemas/EmailInput.yaml | 8 + .../components/schemas/Entitlement.yaml | 32 +++ .../components/schemas/Error.yaml | 13 ++ .../components/schemas/Event.yaml | 26 +++ .../components/schemas/EventList.yaml | 8 + .../schemas/FabricServiceToken.yaml | 48 ++++ .../components/schemas/Facility.yaml | 37 +++ .../components/schemas/FacilityInput.yaml | 20 ++ .../components/schemas/FacilityList.yaml | 6 + .../components/schemas/Filesystem.yaml | 4 + .../components/schemas/FirmwareSet.yaml | 36 +++ .../components/schemas/FirmwareSetList.yaml | 4 + .../schemas/FirmwareSetListResponse.yaml | 20 ++ .../schemas/FirmwareSetResponse.yaml | 5 + .../components/schemas/GlobalBgpRange.yaml | 13 ++ .../schemas/GlobalBgpRangeList.yaml | 6 + .../schemas/HardwareReservation.yaml | 46 ++++ .../schemas/HardwareReservationList.yaml | 8 + .../oas3.fetched/components/schemas/Href.yaml | 6 + .../components/schemas/IPAddress.yaml | 27 +++ .../components/schemas/IPAssignment.yaml | 57 +++++ .../components/schemas/IPAssignmentInput.yaml | 8 + .../components/schemas/IPAssignmentList.yaml | 6 + .../schemas/IPAssignmentUpdateInput.yaml | 10 + .../schemas/IPAvailabilitiesList.yaml | 6 + .../components/schemas/IPReservation.yaml | 83 +++++++ .../components/schemas/IPReservationList.yaml | 10 + .../schemas/IPReservationRequestInput.yaml | 27 +++ .../schemas/InstancesBatchCreateInput.yaml | 18 ++ .../components/schemas/Interconnection.yaml | 78 +++++++ .../schemas/InterconnectionList.yaml | 8 + .../schemas/InterconnectionPort.yaml | 39 ++++ .../schemas/InterconnectionPortList.yaml | 6 + .../schemas/InterconnectionUpdateInput.yaml | 22 ++ .../components/schemas/Invitation.yaml | 37 +++ .../components/schemas/InvitationInput.yaml | 26 +++ .../components/schemas/InvitationList.yaml | 6 + .../components/schemas/Invoice.yaml | 41 ++++ .../components/schemas/InvoiceList.yaml | 6 + .../components/schemas/License.yaml | 15 ++ .../schemas/LicenseCreateInput.yaml | 8 + .../components/schemas/LicenseList.yaml | 6 + .../schemas/LicenseUpdateInput.yaml | 6 + .../components/schemas/LineItem.yaml | 18 ++ .../components/schemas/Membership.yaml | 21 ++ .../components/schemas/MembershipInput.yaml | 6 + .../components/schemas/MembershipList.yaml | 6 + .../oas3.fetched/components/schemas/Meta.yaml | 18 ++ .../components/schemas/Metadata.yaml | 99 ++++++++ .../components/schemas/MetalGateway.yaml | 32 +++ .../schemas/MetalGatewayCreateInput.yaml | 20 ++ .../MetalGatewayElasticIpCreateInput.yaml | 24 ++ .../components/schemas/MetalGatewayList.yaml | 10 + .../components/schemas/MetalGatewayLite.yaml | 35 +++ .../components/schemas/Metro.yaml | 11 + .../components/schemas/MetroInput.yaml | 9 + .../components/schemas/MetroList.yaml | 6 + .../components/schemas/Mount.yaml | 12 + .../components/schemas/NewPassword.yaml | 4 + .../components/schemas/OperatingSystem.yaml | 35 +++ .../schemas/OperatingSystemList.yaml | 6 + .../components/schemas/Organization.yaml | 49 ++++ .../components/schemas/OrganizationInput.yaml | 25 ++ .../components/schemas/OrganizationList.yaml | 8 + .../components/schemas/ParentBlock.yaml | 10 + .../components/schemas/Partition.yaml | 9 + .../components/schemas/PaymentMethod.yaml | 37 +++ .../schemas/PaymentMethodBillingAddress.yaml | 8 + .../schemas/PaymentMethodCreateInput.yaml | 11 + .../components/schemas/PaymentMethodList.yaml | 6 + .../schemas/PaymentMethodUpdateInput.yaml | 14 ++ .../oas3.fetched/components/schemas/Plan.yaml | 140 ++++++++++++ .../components/schemas/PlanList.yaml | 6 + .../oas3.fetched/components/schemas/Port.yaml | 40 ++++ .../components/schemas/PortAssignInput.yaml | 8 + .../schemas/PortConvertLayer3Input.yaml | 11 + .../components/schemas/PortData.yaml | 8 + .../schemas/PortVlanAssignment.yaml | 24 ++ .../schemas/PortVlanAssignmentBatch.yaml | 45 ++++ .../PortVlanAssignmentBatchCreateInput.yaml | 16 ++ .../schemas/PortVlanAssignmentBatchList.yaml | 6 + .../schemas/PortVlanAssignmentList.yaml | 6 + .../components/schemas/Project.yaml | 62 +++++ .../schemas/ProjectCreateFromRootInput.yaml | 28 +++ .../schemas/ProjectCreateInput.yaml | 25 ++ .../components/schemas/ProjectIdName.yaml | 7 + .../components/schemas/ProjectList.yaml | 8 + .../schemas/ProjectUpdateInput.yaml | 18 ++ .../components/schemas/ProjectUsage.yaml | 20 ++ .../components/schemas/ProjectUsageList.yaml | 6 + .../oas3.fetched/components/schemas/Raid.yaml | 10 + .../components/schemas/RecoveryCodeList.yaml | 6 + .../components/schemas/SSHKey.yaml | 25 ++ .../components/schemas/SSHKeyCreateInput.yaml | 18 ++ .../components/schemas/SSHKeyInput.yaml | 10 + .../components/schemas/SSHKeyList.yaml | 6 + .../SelfServiceReservationItemRequest.yaml | 15 ++ .../SelfServiceReservationItemResponse.yaml | 29 +++ .../schemas/SelfServiceReservationList.yaml | 6 + .../SelfServiceReservationResponse.yaml | 40 ++++ .../components/schemas/ServerInfo.yaml | 14 ++ .../schemas/SpotMarketPricesList.yaml | 4 + .../schemas/SpotMarketPricesPerMetroList.yaml | 4 + .../SpotMarketPricesPerMetroReport.yaml | 16 ++ .../components/schemas/SpotMarketRequest.yaml | 30 +++ .../schemas/SpotMarketRequestCreateInput.yaml | 76 +++++++ .../schemas/SpotMarketRequestList.yaml | 6 + .../schemas/SpotPricesDatapoints.yaml | 6 + .../schemas/SpotPricesDatapointsList.yaml | 3 + .../schemas/SpotPricesHistoryReport.yaml | 4 + .../schemas/SpotPricesPerBaremetal.yaml | 5 + .../schemas/SpotPricesPerFacility.yaml | 20 ++ .../schemas/SpotPricesPerNewFacility.yaml | 4 + .../components/schemas/SpotPricesReport.yaml | 30 +++ .../components/schemas/Storage.yaml | 14 ++ .../schemas/SupportRequestInput.yaml | 20 ++ .../components/schemas/TransferRequest.yaml | 17 ++ .../schemas/TransferRequestInput.yaml | 5 + .../schemas/TransferRequestList.yaml | 6 + .../components/schemas/UpdateEmailInput.yaml | 4 + .../oas3.fetched/components/schemas/User.yaml | 54 +++++ .../components/schemas/UserCreateInput.yaml | 45 ++++ .../components/schemas/UserLimited.yaml | 21 ++ .../components/schemas/UserList.yaml | 8 + .../components/schemas/UserLite.yaml | 38 ++++ .../components/schemas/UserUpdateInput.yaml | 14 ++ .../components/schemas/Userdata.yaml | 4 + .../components/schemas/VerifyEmail.yaml | 7 + .../components/schemas/VirtualCircuit.yaml | 3 + .../schemas/VirtualCircuitCreateInput.yaml | 3 + .../schemas/VirtualCircuitList.yaml | 6 + .../schemas/VirtualCircuitUpdateInput.yaml | 3 + .../components/schemas/VirtualNetwork.yaml | 39 ++++ .../schemas/VirtualNetworkCreateInput.yaml | 23 ++ .../schemas/VirtualNetworkList.yaml | 6 + .../schemas/VlanFabricVcCreateInput.yaml | 61 +++++ .../schemas/VlanVirtualCircuit.yaml | 72 ++++++ .../VlanVirtualCircuitCreateInput.yaml | 28 +++ .../VlanVirtualCircuitUpdateInput.yaml | 17 ++ .../oas3.fetched/components/schemas/Vrf.yaml | 52 +++++ .../components/schemas/VrfCreateInput.yaml | 29 +++ .../schemas/VrfFabricVcCreateInput.yaml | 61 +++++ .../schemas/VrfIpRangeCreateInput.yaml | 6 + .../components/schemas/VrfIpRangeList.yaml | 4 + .../schemas/VrfIpRangeUpdateInput.yaml | 10 + .../components/schemas/VrfIpReservation.yaml | 59 +++++ .../schemas/VrfIpReservationCreateInput.yaml | 30 +++ .../schemas/VrfIpReservationList.yaml | 6 + .../components/schemas/VrfList.yaml | 6 + .../components/schemas/VrfMetalGateway.yaml | 34 +++ .../schemas/VrfMetalGatewayCreateInput.yaml | 16 ++ .../components/schemas/VrfRoute.yaml | 61 +++++ .../schemas/VrfRouteCreateInput.yaml | 17 ++ .../components/schemas/VrfRouteList.yaml | 8 + .../schemas/VrfRouteUpdateInput.yaml | 14 ++ .../components/schemas/VrfUpdateInput.yaml | 24 ++ .../components/schemas/VrfVirtualCircuit.yaml | 90 ++++++++ .../schemas/VrfVirtualCircuitCreateInput.yaml | 65 ++++++ .../schemas/VrfVirtualCircuitUpdateInput.yaml | 48 ++++ .../test/resources/oas3.fetched/openapi3.yaml | 40 ++++ .../connections/connection_id/events.yaml | 39 ++++ .../connection_id/ports/id/events.yaml | 46 ++++ .../oas3.fetched/paths/devices/id/events.yaml | 39 ++++ .../resources/oas3.fetched/paths/events.yaml | 20 ++ .../oas3.fetched/paths/events/id.yaml | 39 ++++ .../paths/organizations/id/events.yaml | 39 ++++ .../paths/projects/id/events.yaml | 39 ++++ .../oas3.fetched/paths/routes/id/events.yaml | 39 ++++ .../paths/virtual-circuits/id/events.yaml | 39 ++++ 215 files changed, 5026 insertions(+), 1 deletion(-) create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Address.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Attribute.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AttributeData.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthToken.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BGPSessionInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Batch.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BatchesList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfig.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfigRequestInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighbor.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpNeighborData.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpRoute.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSession.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionNeighbors.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BondPortData.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityInfo.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroInfo.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityLevelPerBaremetal.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityReport.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Component.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Coordinates.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateEmailInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateSelfServiceReservationRequest.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DedicatedPortCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Device.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceActionInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInFacilityInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInMetroInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceHealthRollup.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsage.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsageList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Disk.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Email.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EmailInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Entitlement.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Error.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Event.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EventList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FabricServiceToken.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Facility.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Filesystem.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSet.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetListResponse.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetResponse.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRange.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRangeList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservation.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservationList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Href.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAddress.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignment.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAvailabilitiesList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservation.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationRequestInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InstancesBatchCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Interconnection.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPort.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPortList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invitation.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invoice.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvoiceList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/License.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LineItem.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Membership.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Meta.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metadata.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGateway.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayElasticIpCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayLite.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metro.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Mount.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/NewPassword.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystem.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystemList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Organization.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ParentBlock.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Partition.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethod.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodBillingAddress.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Plan.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PlanList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Port.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortAssignInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortConvertLayer3Input.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortData.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignment.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatch.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Project.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateFromRootInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectIdName.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsage.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsageList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Raid.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/RecoveryCodeList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKey.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemRequest.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemResponse.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationResponse.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ServerInfo.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroReport.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequest.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapoints.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapointsList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesHistoryReport.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerBaremetal.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerFacility.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerNewFacility.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesReport.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Storage.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SupportRequestInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequest.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UpdateEmailInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/User.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLimited.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLite.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Userdata.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VerifyEmail.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuit.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetwork.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanFabricVcCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuit.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Vrf.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfFabricVcCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservation.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGateway.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGatewayCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRoute.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteList.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuit.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitCreateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitUpdateInput.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/openapi3.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/ports/id/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/devices/id/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events/id.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/organizations/id/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/projects/id/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/routes/id/events.yaml create mode 100644 modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/virtual-circuits/id/events.yaml diff --git a/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIV3ParserTest.java b/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIV3ParserTest.java index 997f1c23bd..2553babbcf 100644 --- a/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIV3ParserTest.java +++ b/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIV3ParserTest.java @@ -1953,6 +1953,21 @@ public void testRelativePath2() { Assert.assertEquals(readResult.getOpenAPI().getPaths().get("/pet/findByTags").getGet().getResponses().get("default").getContent().get("application/json").getSchema().get$ref(), "#/components/schemas/ErrorModel"); } + @Test + public void testExternalRefsNormalization() throws Exception { + ParseOptions options = new ParseOptions(); + options.setResolve(true); + SwaggerParseResult result = new OpenAPIV3Parser() + .readLocation("src/test/resources/oas3.fetched/openapi3.yaml", null, options); + + OpenAPI openAPI = result.getOpenAPI(); + Schema originalModel = openAPI.getComponents().getSchemas().get("Event"); + Schema duplicateModel = openAPI.getComponents().getSchemas().get("Event_1"); + System.out.println("component schemas found: " + openAPI.getComponents().getSchemas().keySet()); + assertNull(duplicateModel); + assertNotNull(originalModel); + } + private OpenAPI doRelativeFileTest(String location) { OpenAPIV3Parser parser = new OpenAPIV3Parser(); ParseOptions options = new ParseOptions(); @@ -3298,4 +3313,4 @@ public void testIssue2081() { assertEquals(openAPI.getComponents().getSchemas().get("PetCreate").getRequired().size(), 1); assertEquals(openAPI.getComponents().getSchemas().get("PetCreate").getProperties().size(), 2); } -} \ No newline at end of file +} diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Address.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Address.yaml new file mode 100644 index 0000000000..7cbab35487 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Address.yaml @@ -0,0 +1,20 @@ +properties: + address: + type: string + address2: + type: string + city: + type: string + coordinates: + $ref: './Coordinates.yaml' + country: + type: string + state: + type: string + zip_code: + type: string +required: +- address +- zip_code +- country +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Attribute.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Attribute.yaml new file mode 100644 index 0000000000..fdd3bcde7a --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Attribute.yaml @@ -0,0 +1,17 @@ +properties: + namespace: + readOnly: true + type: string + description: Attribute namespace + created_at: + readOnly: true + type: string + format: date-time + description: Datetime when the block was created. + updated_at: + readOnly: true + type: string + format: date-time + description: Datetime when the block was updated. + data: + $ref: "./AttributeData.yaml" diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AttributeData.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AttributeData.yaml new file mode 100644 index 0000000000..bba3c90873 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AttributeData.yaml @@ -0,0 +1,17 @@ +properties: + latest: + readOnly: true + type: boolean + description: Boolean flag to know if the firmware set is the latest for the model and vendor + model: + readOnly: true + type: string + description: Model on which this firmware set can be applied + vendor: + readOnly: true + type: string + description: Vendor on which this firmware set can be applied + plan: + readOnly: true + type: string + description: Plan where the firmware set can be applied diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthToken.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthToken.yaml new file mode 100644 index 0000000000..8a43219ced --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthToken.yaml @@ -0,0 +1,26 @@ +properties: + created_at: + format: date-time + type: string + description: + description: Available only for API keys + type: string + id: + format: uuid + type: string + project: + allOf: + - $ref: './Project.yaml' + - description: Available only for project tokens + read_only: + type: boolean + token: + type: string + updated_at: + format: date-time + type: string + user: + allOf: + - $ref: './User.yaml' + - description: Available only for user tokens +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenInput.yaml new file mode 100644 index 0000000000..203a139e3b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenInput.yaml @@ -0,0 +1,6 @@ +properties: + description: + type: string + read_only: + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenList.yaml new file mode 100644 index 0000000000..c99752f6b7 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/AuthTokenList.yaml @@ -0,0 +1,6 @@ +properties: + api_keys: + items: + $ref: './AuthToken.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BGPSessionInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BGPSessionInput.yaml new file mode 100644 index 0000000000..a06baae816 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BGPSessionInput.yaml @@ -0,0 +1,13 @@ +properties: + address_family: + description: Address family for BGP session. + enum: + - ipv4 + - ipv6 + example: ipv4 + type: string + default_route: + default: false + description: Set the default route policy. + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Batch.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Batch.yaml new file mode 100644 index 0000000000..919aa209e5 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Batch.yaml @@ -0,0 +1,25 @@ +properties: + created_at: + format: date-time + type: string + devices: + items: + $ref: './Href.yaml' + type: array + error_messages: + items: + type: string + type: array + id: + format: uuid + type: string + project: + $ref: './Href.yaml' + quantity: + type: integer + state: + type: string + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BatchesList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BatchesList.yaml new file mode 100644 index 0000000000..0da8f68b04 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BatchesList.yaml @@ -0,0 +1,6 @@ +properties: + batches: + items: + $ref: './Batch.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfig.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfig.yaml new file mode 100644 index 0000000000..0947e2f2f7 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfig.yaml @@ -0,0 +1,61 @@ +properties: + asn: + description: Autonomous System Number. ASN is required with Global BGP. With Local + BGP the private ASN, 65000, is assigned. + example: 65000 + format: int32 + type: integer + created_at: + format: date-time + type: string + deployment_type: + description: | + In a Local BGP deployment, a customer uses an internal ASN to control routes within a single Equinix Metal datacenter. This means that the routes are never advertised to the global Internet. Global BGP, on the other hand, requires a customer to have a registered ASN and IP space. + enum: + - global + - local + example: local + type: string + href: + type: string + id: + format: uuid + type: string + max_prefix: + default: 10 + description: The maximum number of route filters allowed per server + type: integer + md5: + description: (Optional) Password for BGP session in plaintext (not a checksum) + nullable: true + type: string + project: + $ref: './Href.yaml' + ranges: + description: The IP block ranges associated to the ASN (Populated in Global BGP + only) + items: + $ref: './GlobalBgpRange.yaml' + type: array + requested_at: + format: date-time + type: string + route_object: + description: Specifies AS-MACRO (aka AS-SET) to use when building client route + filters + type: string + sessions: + description: The direct connections between neighboring routers that want to exchange + routing information. + items: + $ref: './BgpSession.yaml' + type: array + status: + description: Status of the BGP Config. Status "requested" is valid only with the + "global" deployment_type. + enum: + - requested + - enabled + - disabled + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfigRequestInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfigRequestInput.yaml new file mode 100644 index 0000000000..9cd1aa011d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpConfigRequestInput.yaml @@ -0,0 +1,30 @@ +properties: + asn: + type: integer + minimum: 0 + maximum: 4294967295 + description: Autonomous System Number for local BGP deployment. + example: 65000 + deployment_type: + description: Wether the BGP deployment is local or global. Local deployments are configured immediately. Global deployments will need to be reviewed by Equinix Metal engineers. + type: string + example: local + enum: + - local + - global + md5: + type: string + description: | + The plaintext password to share between BGP neighbors as an MD5 checksum: + * must be 10-20 characters long + * may not include punctuation + * must be a combination of numbers and letters + * must contain at least one lowercase, uppercase, and digit character + pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{10,20}$' + use_case: + description: A use case explanation (necessary for global BGP request review). + type: string +required: +- deployment_type +- asn +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighbor.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighbor.yaml new file mode 100644 index 0000000000..02135006e6 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighbor.yaml @@ -0,0 +1,43 @@ +properties: + id: + description: The unique identifier for the resource + format: uuid + readOnly: true + type: string + example: aea82f16-57ec-412c-9523-b7f2b27635b2 + bgp_neighbor_asn: + description: The ASN of the dynamic BGP neighbor + type: integer + example: 12345 + bgp_neighbor_range: + description: Network range of the dynamic BGP neighbor in CIDR format + type: string + example: 192.168.1.0/25 + metal_gateway: + $ref: './VrfMetalGateway.yaml' + state: + readOnly: true + type: string + enum: + - active + - deleting + - pending + - ready + href: + type: string + readOnly: true + example: /bgp-dynamic-neighbors/aea82f16-57ec-412c-9523-b7f2b27635b2 + created_at: + format: date-time + readOnly: true + type: string + created_by: + $ref: './UserLimited.yaml' + updated_at: + format: date-time + readOnly: true + type: string + tags: + items: + type: string + type: array diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborCreateInput.yaml new file mode 100644 index 0000000000..c53701f310 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborCreateInput.yaml @@ -0,0 +1,16 @@ +properties: + bgp_neighbor_range: + description: Network range of the dynamic BGP neighbor in CIDR format + type: string + example: 192.168.1.0/25 + bgp_neighbor_asn: + description: The ASN of the dynamic BGP neighbor + type: integer + example: 12345 + tags: + items: + type: string + type: array +required: +- bgp_neighbor_range +- bgp_neighbor_asn diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborList.yaml new file mode 100644 index 0000000000..69e368a38e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpDynamicNeighborList.yaml @@ -0,0 +1,8 @@ +properties: + bgp_dynamic_neighbors: + items: + $ref: './BgpDynamicNeighbor.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpNeighborData.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpNeighborData.yaml new file mode 100644 index 0000000000..8914ad1a35 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpNeighborData.yaml @@ -0,0 +1,61 @@ +properties: + address_family: + description: Address Family for IP Address. Accepted values are 4 or 6 + example: 4 + format: int32 + type: integer + customer_as: + description: The customer's ASN. In a local BGP deployment, this will be an internal + ASN used to route within the data center. For a global BGP deployment, this + will be the your own ASN, configured when you set up BGP for your project. + example: 65000 + format: int32 + type: integer + customer_ip: + description: The device's IP address. For an IPv4 BGP session, this is typically + the private bond0 address for the device. + example: 10.32.16.1 (IPv4) or 2604:1380:4111:2700::1 (IPv6) + type: string + md5_enabled: + description: True if an MD5 password is configured for the project. + type: boolean + md5_password: + description: The MD5 password configured for the project, if set. + type: string + multihop: + description: True when the BGP session should be configured as multihop. + type: boolean + peer_as: + description: The Peer ASN to use when configuring BGP on your device. + example: 65530 + format: int32 + type: integer + peer_ips: + description: A list of one or more IP addresses to use for the Peer IP section + of your BGP configuration. For non-multihop sessions, this will typically be + a single gateway address for the device. For multihop sessions, it will be a + list of IPs. + example: + - 169.254.255.1 + - 169.254.255.2 + items: + type: string + type: array + routes_in: + description: A list of project subnets + example: + - exact: true + route: 10.32.16.0/31 + items: + $ref: "./BgpRoute.yaml" + type: array + routes_out: + description: A list of outgoing routes. Only populated if the BGP session has + default route enabled. + example: + - exact: true + route: 0.0.0.0/0 + items: + $ref: "./BgpRoute.yaml" + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpRoute.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpRoute.yaml new file mode 100644 index 0000000000..18d325c34f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpRoute.yaml @@ -0,0 +1,6 @@ +properties: + exact: + type: boolean + route: + example: 10.32.16.0/31 + type: string diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSession.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSession.yaml new file mode 100644 index 0000000000..db8baf830a --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSession.yaml @@ -0,0 +1,41 @@ +properties: + address_family: + enum: + - ipv4 + - ipv6 + type: string + created_at: + format: date-time + type: string + default_route: + type: boolean + device: + $ref: './Href.yaml' + href: + type: string + id: + format: uuid + type: string + learned_routes: + items: + description: IPv4 or IPv6 range + example: 10.32.16.0/31 + type: string + type: array + status: + description: ' The status of the BGP Session. Multiple status values may be reported + when the device is connected to multiple switches, one value per switch. Each + status will start with "unknown" and progress to "up" or "down" depending on + the connected device. Subsequent "unknown" values indicate a problem acquiring + status from the switch. ' + enum: + - unknown + - up + - down + type: string + updated_at: + format: date-time + type: string +required: +- address_family +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionList.yaml new file mode 100644 index 0000000000..78bcbcb6af --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionList.yaml @@ -0,0 +1,6 @@ +properties: + bgp_sessions: + items: + $ref: './BgpSession.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionNeighbors.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionNeighbors.yaml new file mode 100644 index 0000000000..11bc4c5e30 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BgpSessionNeighbors.yaml @@ -0,0 +1,7 @@ +properties: + bgp_neighbors: + description: A list of BGP session neighbor data + items: + $ref: './BgpNeighborData.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BondPortData.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BondPortData.yaml new file mode 100644 index 0000000000..da6a03d73f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/BondPortData.yaml @@ -0,0 +1,9 @@ +properties: + id: + description: ID of the bonding port + type: string + format: uuid + name: + description: Name of the port interface for the bond ("bond0") + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityInfo.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityInfo.yaml new file mode 100644 index 0000000000..e970ec63f7 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityInfo.yaml @@ -0,0 +1,10 @@ +properties: + available: + type: boolean + facility: + type: string + plan: + type: string + quantity: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityList.yaml new file mode 100644 index 0000000000..530332a27f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerFacilityList.yaml @@ -0,0 +1,6 @@ +properties: + servers: + items: + $ref: './CapacityCheckPerFacilityInfo.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroInfo.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroInfo.yaml new file mode 100644 index 0000000000..2fb51ba2d4 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroInfo.yaml @@ -0,0 +1,15 @@ +properties: + available: + description: Returns true if there is enough capacity in the metro to fulfill + the quantity set. Returns false if there is not enough. + type: boolean + metro: + description: The metro ID or code sent to check capacity. + type: string + plan: + description: The plan ID or slug sent to check capacity. + type: string + quantity: + description: The number of servers sent to check capacity. + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroList.yaml new file mode 100644 index 0000000000..9ec1ecc174 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityCheckPerMetroList.yaml @@ -0,0 +1,6 @@ +properties: + servers: + items: + $ref: './CapacityCheckPerMetroInfo.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityInput.yaml new file mode 100644 index 0000000000..c1a02be044 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityInput.yaml @@ -0,0 +1,6 @@ +properties: + servers: + items: + $ref: './ServerInfo.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityLevelPerBaremetal.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityLevelPerBaremetal.yaml new file mode 100644 index 0000000000..c8ec393f5e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityLevelPerBaremetal.yaml @@ -0,0 +1,5 @@ +properties: + level: + type: string + available_servers: integer +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityList.yaml new file mode 100644 index 0000000000..ecc3f62752 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityList.yaml @@ -0,0 +1,4 @@ +properties: + capacity: + $ref: './CapacityReport.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityReport.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityReport.yaml new file mode 100644 index 0000000000..7af91e6b93 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CapacityReport.yaml @@ -0,0 +1,5 @@ +additionalProperties: + type: object + additionalProperties: + $ref: './CapacityLevelPerBaremetal.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Component.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Component.yaml new file mode 100644 index 0000000000..efce1ccc59 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Component.yaml @@ -0,0 +1,55 @@ +properties: + uuid: + readOnly: true + type: string + description: Component UUID + format: uuid + example: "0516463a-47ee-4809-9a66-ece8c740eed9" + vendor: + readOnly: true + type: string + description: Component vendor + example: "equinix" + model: + readOnly: true + type: array + description: List of models where this component version can be applied + items: + type: string + example: romed8hm3 + filename: + readOnly: true + type: string + description: name of the file + version: + readOnly: true + type: string + description: Version of the component + example: 1.5.0 + component: + readOnly: true + type: string + description: Component type + example: bmc + checksum: + readOnly: true + type: string + description: File checksum + upstream_url: + readOnly: true + type: string + description: Location of the file + repository_url: + readOnly: true + type: string + description: Location of the file in the repository + created_at: + readOnly: true + type: string + format: date-time + description: Datetime when the block was created. + updated_at: + readOnly: true + type: string + format: date-time + description: Datetime when the block was updated. diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Coordinates.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Coordinates.yaml new file mode 100644 index 0000000000..036c662722 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Coordinates.yaml @@ -0,0 +1,6 @@ +properties: + latitude: + type: string + longitude: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateEmailInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateEmailInput.yaml new file mode 100644 index 0000000000..5aa749bd78 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateEmailInput.yaml @@ -0,0 +1,6 @@ +properties: + address: + type: string +required: +- address +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateSelfServiceReservationRequest.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateSelfServiceReservationRequest.yaml new file mode 100644 index 0000000000..84e9138c4b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/CreateSelfServiceReservationRequest.yaml @@ -0,0 +1,23 @@ +properties: + item: + items: + $ref: './SelfServiceReservationItemRequest.yaml' + type: array + notes: + type: string + period: + properties: + count: + enum: + - 12 + - 36 + type: integer + unit: + enum: + - monthly + type: string + type: object + start_date: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DedicatedPortCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DedicatedPortCreateInput.yaml new file mode 100644 index 0000000000..bfd4f81460 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DedicatedPortCreateInput.yaml @@ -0,0 +1,53 @@ +properties: + billing_account_name: + description: The billing account name of the Equinix Fabric account. + type: string + contact_email: + description: The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key. + type: string + format: email + description: + type: string + metro: + description: A Metro ID or code. For interconnections with Dedicated Ports, this will be the location of the issued Dedicated Ports. + type: string + mode: + description: |- + The mode of the interconnection (only relevant to Dedicated Ports). Fabric VCs won't have this field. Can be either 'standard' or 'tunnel'. + The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. + In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances. + enum: + - standard + - tunnel + example: standard + type: string + name: + type: string + project: + type: string + redundancy: + description: Either 'primary' or 'redundant'. + type: string + speed: + description: |- + A interconnection speed, in bps, mbps, or gbps. For Dedicated Ports, this can be 10Gbps or 100Gbps. + type: integer + example: 10000000000 + tags: + items: + type: string + type: array + type: + description: When requesting for a dedicated port, the value of this field should be 'dedicated'. + type: string + enum: + - dedicated + use_case: + description: The intended use case of the dedicated port. + type: string +required: +- name +- metro +- type +- redundancy +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Device.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Device.yaml new file mode 100644 index 0000000000..8e3eb270ee --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Device.yaml @@ -0,0 +1,181 @@ +properties: + always_pxe: + type: boolean + billing_cycle: + type: string + bonding_mode: + type: integer + created_at: + format: date-time + type: string + created_by: + allOf: + - $ref: './UserLite.yaml' + - description: The user that created the device. + customdata: + default: {} + type: object + additionalProperties: true + description: + type: string + facility: + $ref: './Facility.yaml' + firmware_set_id: + description: The UUID of the firmware set to associate with the device. + format: uuid + type: string + hardware_reservation: + $ref: './Href.yaml' + hostname: + type: string + href: + type: string + id: + format: uuid + type: string + image_url: + type: string + ip_addresses: + items: + $ref: './IPAssignment.yaml' + type: array + ipxe_script_url: + type: string + iqn: + type: string + locked: + type: boolean + description: Prevents accidental deletion of this resource when set to true. + metro: + allOf: + - $ref: './Metro.yaml' + - description: The metro the facility is in + network_frozen: + type: boolean + description: Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device. + network_ports: + description: + By default, servers at Equinix Metal are configured in a “bonded” mode + using LACP (Link Aggregation Control Protocol). Each 2-NIC server is + configured with a single bond (namely bond0) with both interfaces eth0 + and eth1 as members of the bond in a default Layer 3 mode. Some device + plans may have a different number of ports and bonds available. + type: array + items: + $ref: './Port.yaml' + operating_system: + $ref: './OperatingSystem.yaml' + actions: + description: Actions supported by the device instance. + items: + properties: + type: + type: string + name: + type: string + type: object + type: array + plan: + $ref: './Plan.yaml' + project: + allOf: + - $ref: './Href.yaml' + - description: Full version of project object when included + project_lite: + allOf: + - $ref: './Href.yaml' + - description: Lite version of project object when included + provisioning_events: + items: + $ref: './Event.yaml' + type: array + provisioning_percentage: + description: Only visible while device provisioning + format: float + type: number + root_password: + description: Root password is automatically generated when server is provisioned + and it is removed after 24 hours + type: string + short_id: + type: string + spot_instance: + description: Whether or not the device is a spot instance. + type: boolean + spot_price_max: + description: |- + The maximum price per hour you are willing to pay to keep this spot + instance. If you are outbid, the termination will be set allowing two + minutes before shutdown. + format: float + type: number + ssh_keys: + items: + $ref: './Href.yaml' + type: array + state: + type: string + enum: + - queued + - provisioning + - deprovisioning + - reinstalling + - active + - inactive + - failed + - powering_on + - powering_off + - deleted + description: |- + The current state the instance is in. + + * When an instance is initially created it will be in the `queued` state until it is picked up by the provisioner. + * Once provisioning has begun on the instance it's state will move to `provisioning`. + * When an instance is deleted, it will move to `deprovisioning` state until the deprovision is completed and the instance state moves to `deleted`. + * If an instance fails to provision or deprovision it will move to `failed` state. + * Once an instance has completed provisioning it will move to `active` state. + * If an instance is currently powering off or powering on it will move to `powering_off` or `powering_on` states respectively. + * When the instance is powered off completely it will move to the `inactive` state. + * When an instance is powered on completely it will move to the `active` state. + * Using the reinstall action to install a new OS on the instance will cause the instance state to change to `reinstalling`. + * When the reinstall action is complete the instance will move to `active` state. + storage: + $ref: './Storage.yaml' + switch_uuid: + description: |- + Switch short id. This can be used to determine if two devices are + connected to the same switch, for example. + type: string + tags: + items: + type: string + type: array + termination_time: + description: |- + When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC. + + This is commonly set in advance for + ephemeral spot market instances but this field may also be set with + on-demand and reservation instances to automatically delete the resource + at a given time. The termination time can also be used to release a + hardware reservation instance at a given time, keeping the reservation + open for other uses. On a spot market device, the termination time will + be set automatically when outbid. + format: date-time + example: "2021-09-03T16:32:00+03:00" + type: string + updated_at: + format: date-time + type: string + user: + type: string + userdata: + type: string + volumes: + items: + $ref: './Href.yaml' + type: array + sos: + description: Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console. + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceActionInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceActionInput.yaml new file mode 100644 index 0000000000..671b5974c6 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceActionInput.yaml @@ -0,0 +1,30 @@ +type: object +required: +- type +properties: + type: + description: Action to perform. See Device.actions for possible actions. + type: string + enum: + - power_on + - power_off + - reboot + - rescue + - reinstall + force_delete: + description: May be required to perform actions under certain conditions + type: boolean + deprovision_fast: + description: When type is `reinstall`, enabling fast deprovisioning will bypass full disk wiping. + type: boolean + preserve_data: + description: When type is `reinstall`, preserve the existing data on all disks except the operating-system disk. + type: boolean + operating_system: + description: When type is `reinstall`, use this `operating_system` (defaults to the current `operating system`) + type: string + example: ubuntu_22_04 + ipxe_script_url: + description: When type is `reinstall`, use this `ipxe_script_url` (`operating_system` must be `custom_ipxe`, defaults to the current `ipxe_script_url`) + type: string + diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInFacilityInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInFacilityInput.yaml new file mode 100644 index 0000000000..655100bbf8 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInFacilityInput.yaml @@ -0,0 +1,3 @@ +allOf: +- $ref: './FacilityInput.yaml' +- $ref: './DeviceCreateInput.yaml' \ No newline at end of file diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInMetroInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInMetroInput.yaml new file mode 100644 index 0000000000..90c69ecde6 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInMetroInput.yaml @@ -0,0 +1,3 @@ +allOf: +- $ref: './MetroInput.yaml' +- $ref: './DeviceCreateInput.yaml' diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInput.yaml new file mode 100644 index 0000000000..a5e47e26ba --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceCreateInput.yaml @@ -0,0 +1,213 @@ +properties: + always_pxe: + default: false + description: |- + When true, devices with a `custom_ipxe` OS will always boot to iPXE. The + default setting of false ensures that iPXE will be used on only the + first boot. + type: boolean + billing_cycle: + description: The billing cycle of the device. + enum: + - hourly + - daily + - monthly + - yearly + type: string + customdata: + description: |- + Customdata is an arbitrary JSON value that can be accessed via the + metadata service. + default: {} + type: object + additionalProperties: true + description: + description: |- + Any description of the device or how it will be used. This may be used + to inform other API consumers with project access. + type: string + features: + description: |- + The features attribute allows you to optionally specify what features your server should have. + + In the API shorthand syntax, all features listed are `required`: + + ``` + { "features": ["tpm"] } + ``` + + Alternatively, if you do not require a certain feature, but would prefer to be assigned a server with that feature if there are any available, you may specify that feature with a `preferred` value. The request will not fail if we have no servers with that feature in our inventory. The API offers an alternative syntax for mixing preferred and required features: + + ``` + { "features": { "tpm": "required", "raid": "preferred" } } + ``` + + The request will only fail if there are no available servers matching the required `tpm` criteria. + items: + type: string + type: array + hardware_reservation_id: + default: "" + description: |- + The Hardware Reservation UUID to provision. Alternatively, `next-available` can be specified to select from any of the available hardware reservations. An error will be returned if the requested reservation option is not available. + + See [Reserved Hardware](https://metal.equinix.com/developers/docs/deploy/reserved/) for more details. + example: next-available + type: string + hostname: + description: The hostname to use within the operating system. The same hostname + may be used on multiple devices within a project. + type: string + ip_addresses: + default: + - address_family: 4 + public: true + - address_family: 4 + public: false + - address_family: 6 + public: true + description: |- + The `ip_addresses attribute will allow you to specify the addresses you want created with your device. + + The default value configures public IPv4, public IPv6, and private IPv4. + + Private IPv4 address is required. When specifying `ip_addresses`, one of the array items must enable private IPv4. + + Some operating systems require public IPv4 address. In those cases you will receive an error message if public IPv4 is not enabled. + + For example, to only configure your server with a private IPv4 address, you can send `{ "ip_addresses": [{ "address_family": 4, "public": false }] }`. + + It is possible to request a subnet size larger than a `/30` by assigning addresses using the UUID(s) of ip_reservations in your project. + + For example, `{ "ip_addresses": [..., {"address_family": 4, "public": true, "ip_reservations": ["uuid1", "uuid2"]}] }` + + To access a server without public IPs, you can use our Out-of-Band console access (SOS) or proxy through another server in the project with public IPs enabled. + items: + $ref: './IPAddress.yaml' + type: array + ipxe_script_url: + description: |- + When set, the device will chainload an iPXE Script at boot fetched from the supplied URL. + + See [Custom iPXE](https://metal.equinix.com/developers/docs/operating-systems/custom-ipxe/) for more details. + externalDocs: + url: https://metal.equinix.com/developers/docs/operating-systems/custom-ipxe/ + type: string + locked: + default: false + description: Whether the device should be locked, preventing accidental deletion. + type: boolean + network_frozen: + description: If true, this instance can not be converted to a different network + type. + type: boolean + no_ssh_keys: + default: false + description: Overrides default behaviour of attaching all of the organization + members ssh keys and project ssh keys to device if no specific keys specified + type: boolean + operating_system: + description: The slug of the operating system to provision. Check the Equinix + Metal operating system documentation for rules that may be imposed per operating + system, including restrictions on IP address options and device plans. + type: string + plan: + description: The slug of the device plan to provision. + type: string + example: "c3.large.x86" + private_ipv4_subnet_size: + default: 28 + description: Deprecated. Use ip_addresses. Subnet range for addresses allocated + to this device. + format: int32 + type: integer + x-deprecated: true + project_ssh_keys: + description: |+ + A list of UUIDs identifying the device parent project + that should be authorized to access this device (typically + via /root/.ssh/authorized_keys). These keys will also appear in the device metadata. + + If no SSH keys are specified (`user_ssh_keys`, `project_ssh_keys`, and `ssh_keys` are all empty lists or omitted), + all parent project keys, parent project members keys and organization members keys will be included. This behaviour can + be changed with 'no_ssh_keys' option to omit any SSH key being added. + items: + format: uuid + type: string + type: array + public_ipv4_subnet_size: + default: 31 + description: Deprecated. Use ip_addresses. Subnet range for addresses allocated + to this device. Your project must have addresses available for a non-default + request. + format: int32 + type: integer + x-deprecated: true + spot_instance: + type: boolean + description: Create a spot instance. Spot instances are created with a maximum + bid price. If the bid price is not met, the spot instance will be terminated as indicated by the `termination_time` field. + spot_price_max: + format: float + type: number + example: 1.23 + description: The maximum amount to bid for a spot instance. + ssh_keys: + description: | + A list of new or existing project ssh_keys + that should be authorized to access this device (typically + via /root/.ssh/authorized_keys). These keys will also + appear in the device metadata. + + These keys are added in addition to any keys defined by + `project_ssh_keys` and `user_ssh_keys`. + items: + $ref: './SSHKeyInput.yaml' + type: array + storage: + $ref: './Storage.yaml' + tags: + items: + type: string + type: array + termination_time: + description: | + When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC. + + This is commonly set in advance for + ephemeral spot market instances but this field may also be set with + on-demand and reservation instances to automatically delete the resource + at a given time. The termination time can also be used to release a + hardware reservation instance at a given time, keeping the reservation + open for other uses. On a spot market device, the termination time will + be set automatically when outbid. + format: date-time + example: "2021-09-03T16:32:00+03:00" + type: string + user_ssh_keys: + description: | + A list of UUIDs identifying the users + that should be authorized to access this device (typically + via /root/.ssh/authorized_keys). These keys will also + appear in the device metadata. + + The users must be members of the project or organization. + + If no SSH keys are specified (`user_ssh_keys`, `project_ssh_keys`, and `ssh_keys` are all empty lists or omitted), + all parent project keys, parent project members keys and organization members keys will be included. This behaviour can + be changed with 'no_ssh_keys' option to omit any SSH key being added. + items: + format: uuid + type: string + type: array + userdata: + description: |- + The userdata presented in the metadata service for this device. Userdata is fetched and interpreted by the operating system installed on the device. Acceptable formats are determined by the operating system, with the exception of a special iPXE enabling syntax which is handled before the operating system starts. + + See [Server User Data](https://metal.equinix.com/developers/docs/servers/user-data/) and [Provisioning with Custom iPXE](https://metal.equinix.com/developers/docs/operating-systems/custom-ipxe/#provisioning-with-custom-ipxe) for more details. + type: string + externalDocs: + url: https://metal.equinix.com/developers/docs/servers/user-data/ +required: +- plan +- operating_system diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceHealthRollup.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceHealthRollup.yaml new file mode 100644 index 0000000000..7396b72d30 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceHealthRollup.yaml @@ -0,0 +1,16 @@ +properties: + health_rollup: + readOnly: true + type: string + description: Health Status + enum: + - ok + - warning + - critical + updated_at: + readOnly: true + type: string + format: date-time + description: Last update of health status. +type: object +description: Represents a Device Health Status diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceList.yaml new file mode 100644 index 0000000000..ca1714965e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceList.yaml @@ -0,0 +1,8 @@ +properties: + devices: + items: + $ref: './Device.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUpdateInput.yaml new file mode 100644 index 0000000000..933136daa9 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUpdateInput.yaml @@ -0,0 +1,36 @@ +properties: + always_pxe: + type: boolean + billing_cycle: + type: string + customdata: + default: {} + type: object + additionalProperties: true + description: + type: string + hostname: + type: string + firmware_set_id: + type: string + ipxe_script_url: + type: string + locked: + type: boolean + description: Whether the device should be locked, preventing accidental deletion. + network_frozen: + description: If true, this instance can not be converted to a different network + type. + type: boolean + spot_instance: + type: boolean + description: Can be set to false to convert a spot-market instance to on-demand. + externalDocs: + url: https://metal.equinix.com/developers/docs/deploy/spot-market/#converting-a-spot-market-server-to-on-demand + tags: + items: + type: string + type: array + userdata: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsage.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsage.yaml new file mode 100644 index 0000000000..6968295ccf --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsage.yaml @@ -0,0 +1,8 @@ +properties: + quantity: + type: string + total: + type: string + unit: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsageList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsageList.yaml new file mode 100644 index 0000000000..d266838be5 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/DeviceUsageList.yaml @@ -0,0 +1,6 @@ +properties: + usages: + items: + $ref: './DeviceUsage.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Disk.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Disk.yaml new file mode 100644 index 0000000000..3a8b923724 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Disk.yaml @@ -0,0 +1,10 @@ +properties: + device: + type: string + wipeTable: + type: boolean + partitions: + items: + $ref: './Partition.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Email.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Email.yaml new file mode 100644 index 0000000000..9b420b33e9 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Email.yaml @@ -0,0 +1,13 @@ +properties: + address: + type: string + default: + type: boolean + href: + type: string + id: + format: uuid + type: string + verified: + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EmailInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EmailInput.yaml new file mode 100644 index 0000000000..7563066dc0 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EmailInput.yaml @@ -0,0 +1,8 @@ +properties: + address: + type: string + default: + type: boolean +required: +- address +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Entitlement.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Entitlement.yaml new file mode 100644 index 0000000000..c8bde23be6 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Entitlement.yaml @@ -0,0 +1,32 @@ +properties: + description: + type: string + feature_access: + type: object + href: + type: string + id: + format: uuid + type: string + instance_quota: + type: object + ip_quota: + type: object + name: + type: string + project_quota: + default: 0 + type: integer + slug: + type: string + volume_limits: + type: object + volume_quota: + type: object + weight: + type: integer +required: +- id +- slug +- weight +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Error.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Error.yaml new file mode 100644 index 0000000000..f940b13db2 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Error.yaml @@ -0,0 +1,13 @@ +description: Error responses are included with 4xx and 5xx HTTP responses from the + API service. Either "error" or "errors" will be set. +properties: + error: + description: A description of the error that caused the request to fail. + type: string + errors: + description: A list of errors that contributed to the request failing. + items: + description: An error message that contributed to the request failing. + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Event.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Event.yaml new file mode 100644 index 0000000000..9f4effd2e3 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Event.yaml @@ -0,0 +1,26 @@ +properties: + body: + type: string + created_at: + format: date-time + type: string + href: + type: string + id: + format: uuid + type: string + interpolated: + type: string + relationships: + items: + $ref: './Href.yaml' + type: array + state: + type: string + type: + type: string + modified_by: + type: object + ip: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EventList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EventList.yaml new file mode 100644 index 0000000000..75b2d4c509 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/EventList.yaml @@ -0,0 +1,8 @@ +properties: + events: + items: + $ref: './Event.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FabricServiceToken.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FabricServiceToken.yaml new file mode 100644 index 0000000000..e1559ea3bc --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FabricServiceToken.yaml @@ -0,0 +1,48 @@ +properties: + expires_at: + description: The expiration date and time of the Fabric service token. Once a + service token is expired, it is no longer redeemable. + format: date-time + type: string + id: + description: |- + The UUID that can be used on the Fabric Portal to redeem either an A-Side or Z-Side Service Token. + For Fabric VCs (Metal Billed), this UUID will represent an A-Side Service Token, which will allow interconnections + to be made from Equinix Metal to other Service Providers on Fabric. For Fabric VCs (Fabric Billed), this UUID will + represent a Z-Side Service Token, which will allow interconnections to be made to connect an owned Fabric Port or + Virtual Device to Equinix Metal. + format: uuid + type: string + max_allowed_speed: + description: |- + The maximum speed that can be selected on the Fabric Portal when configuring a interconnection with either + an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this is what the billing is based off of, and can be one + of the following options, '50mbps', '200mbps', '500mbps', '1gbps', '2gbps', '5gbps' or '10gbps'. For Fabric VCs + (Fabric Billed), this will default to 10Gbps. + type: integer + example: 10000000000 + role: + description: Either primary or secondary, depending on which interconnection the service token is associated to. + enum: + - primary + - secondary + type: string + service_token_type: + description: Either 'a_side' or 'z_side', depending on which type of Fabric VC was requested. + enum: + - a_side + - z_side + type: string + state: + description: |- + The state of the service token that corresponds with the service + token state on Fabric. An 'inactive' state refers to a token that has not been + redeemed yet on the Fabric side, an 'active' state refers to a token that has + already been redeemed, and an 'expired' state refers to a token that has reached + its expiry time. + enum: + - inactive + - active + - expired + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Facility.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Facility.yaml new file mode 100644 index 0000000000..dd0203c43f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Facility.yaml @@ -0,0 +1,37 @@ +properties: + address: + $ref: './Address.yaml' + code: + type: string + features: + example: + - baremetal + - backend_transfer + - global_ipv4 + items: + enum: + - baremetal + - backend_transfer + - layer_2 + - global_ipv4 + - ibx + type: string + type: array + id: + format: uuid + type: string + ip_ranges: + description: IP ranges registered in facility. Can be used for GeoIP location + example: + - 2604:1380::/36 + - 147.75.192.0/21 + items: + type: string + type: array + metro: + allOf: + - $ref: './Metro.yaml' + - description: The metro the facility is in + name: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityInput.yaml new file mode 100644 index 0000000000..bd9b215c4d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityInput.yaml @@ -0,0 +1,20 @@ +required: + - facility +properties: + facility: + deprecated: true + description: |- + The datacenter where the device should be created. + + Either metro or facility must be provided. + + The API will accept either a single facility `{ "facility": "f1" }`, or it can be instructed to create the device in the best available datacenter `{ "facility": "any" }`. + + Additionally it is possible to set a prioritized location selection. For example `{ "facility": ["f3", "f2", "any"] }` can be used to prioritize `f3` and then `f2` before accepting `any` facility. If none of the facilities provided have availability for the requested device the request will fail. + anyOf: + - type: array + items: + type: string + example: ["sv15"] + - type: string + example: "any" \ No newline at end of file diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityList.yaml new file mode 100644 index 0000000000..f7a4af1a83 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FacilityList.yaml @@ -0,0 +1,6 @@ +properties: + facilities: + items: + $ref: './Facility.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Filesystem.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Filesystem.yaml new file mode 100644 index 0000000000..d309cba184 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Filesystem.yaml @@ -0,0 +1,4 @@ +properties: + mount: + $ref: './Mount.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSet.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSet.yaml new file mode 100644 index 0000000000..2d8bf7cb61 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSet.yaml @@ -0,0 +1,36 @@ +properties: + uuid: + readOnly: true + type: string + description: Firmware Set UUID + format: uuid + example: "0516463a-47ee-4809-9a66-ece8c740eed9" + name: + readOnly: true + type: string + description: Firmware Set Name + created_at: + readOnly: true + type: string + format: date-time + description: Datetime when the block was created. + updated_at: + readOnly: true + type: string + format: date-time + description: Datetime when the block was updated. + attributes: + type: array + description: Represents a list of attributes + items: + $ref: "./Attribute.yaml" + component_firmware: + type: array + description: List of components versions + items: + $ref: "./Component.yaml" +required: + - uuid + - name +type: object +description: Represents a Firmware Set diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetList.yaml new file mode 100644 index 0000000000..7e9fe5ee77 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetList.yaml @@ -0,0 +1,4 @@ +type: array +description: Represents a list of FirmwareSets +items: + $ref: "./FirmwareSet.yaml" diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetListResponse.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetListResponse.yaml new file mode 100644 index 0000000000..47d81795f4 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetListResponse.yaml @@ -0,0 +1,20 @@ +type: object +description: Represents collection of Firmware Sets +properties: + page_size: + description: Max number of items returned in a page + type: integer + page: + description: Page returned + type: integer + page_count: + description: Items returned in current page + type: integer + total_pages: + description: Total count of pages + type: integer + total_record_count: + description: Total count of items + type: integer + records: + $ref: "./FirmwareSetList.yaml" diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetResponse.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetResponse.yaml new file mode 100644 index 0000000000..adb43e4380 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/FirmwareSetResponse.yaml @@ -0,0 +1,5 @@ +type: object +description: Represents single Firmware set response +properties: + record: + $ref: "./FirmwareSet.yaml" diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRange.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRange.yaml new file mode 100644 index 0000000000..ac2eaa3b93 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRange.yaml @@ -0,0 +1,13 @@ +properties: + address_family: + type: integer + href: + type: string + id: + format: uuid + type: string + project: + $ref: './Href.yaml' + range: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRangeList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRangeList.yaml new file mode 100644 index 0000000000..a0bd661ee5 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/GlobalBgpRangeList.yaml @@ -0,0 +1,6 @@ +properties: + global_bgp_ranges: + items: + $ref: './GlobalBgpRange.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservation.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservation.yaml new file mode 100644 index 0000000000..59aa31ff79 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservation.yaml @@ -0,0 +1,46 @@ +properties: + created_at: + format: date-time + type: string + custom_rate: + description: Amount that will be charged for every billing_cycle. + example: 1050.5 + format: float + type: number + device: + $ref: './Device.yaml' + facility: + $ref: './Facility.yaml' + href: + type: string + id: + format: uuid + type: string + need_of_service: + description: Whether this Device requires assistance from Equinix Metal. + type: boolean + plan: + $ref: './Plan.yaml' + project: + $ref: './Project.yaml' + provisionable: + description: Whether the reserved server is provisionable or not. Spare devices + can't be provisioned unless they are activated first. + type: boolean + short_id: + description: Short version of the ID. + format: string + type: string + spare: + description: Whether the Hardware Reservation is a spare. Spare Hardware Reservations + are used when a Hardware Reservations requires service from Equinix Metal + type: boolean + switch_uuid: + description: Switch short id. This can be used to determine if two devices are + connected to the same switch, for example. + type: string + termination_time: + description: Expiration date for the reservation. + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservationList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservationList.yaml new file mode 100644 index 0000000000..1ffd5b754c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/HardwareReservationList.yaml @@ -0,0 +1,8 @@ +properties: + hardware_reservations: + items: + $ref: './HardwareReservation.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Href.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Href.yaml new file mode 100644 index 0000000000..bbe7e22053 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Href.yaml @@ -0,0 +1,6 @@ +properties: + href: + type: string +required: +- href +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAddress.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAddress.yaml new file mode 100644 index 0000000000..90e98687ae --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAddress.yaml @@ -0,0 +1,27 @@ +properties: + address_family: + description: Address Family for IP Address + enum: + - 4 + - 6 + example: 4 + format: int32 + type: integer + cidr: + description: Cidr Size for the IP Block created. Valid values depends on + the operating system being provisioned. (28..32 for IPv4 addresses, 124..127 + for IPv6 addresses) + example: 28 + format: int32 + type: integer + ip_reservations: + description: UUIDs of any IP reservations to use when assigning IPs + items: + type: string + type: array + public: + default: true + description: Address Type for IP Address + example: false + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignment.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignment.yaml new file mode 100644 index 0000000000..efce269a60 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignment.yaml @@ -0,0 +1,57 @@ +properties: + address: + type: string + address_family: + type: integer + assigned_to: + $ref: './Href.yaml' + cidr: + type: integer + created_at: + format: date-time + type: string + enabled: + type: boolean + gateway: + type: string + global_ip: + type: boolean + href: + type: string + id: + format: uuid + type: string + manageable: + type: boolean + management: + type: boolean + metro: + allOf: + - $ref: './Metro.yaml' + - description: The metro the IP address is in + netmask: + type: string + network: + type: string + parent_block: + $ref: './ParentBlock.yaml' + public: + type: boolean + state: + type: string + enum: + - pending + - active + - deleting + description: | + Only set when this is a Metal Gateway Elastic IP Assignment. + + Describes the current configuration state of this IP on the network. + next_hop: + type: string + format: ipv4 + description: | + Only set when this is a Metal Gateway Elastic IP Assignment. + + The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded. +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentInput.yaml new file mode 100644 index 0000000000..90efc5ee22 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentInput.yaml @@ -0,0 +1,8 @@ +properties: + address: + type: string + customdata: + type: object +required: +- address +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentList.yaml new file mode 100644 index 0000000000..94f11aeb14 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentList.yaml @@ -0,0 +1,6 @@ +properties: + ip_addresses: + items: + $ref: './IPAssignment.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentUpdateInput.yaml new file mode 100644 index 0000000000..47556d84fe --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAssignmentUpdateInput.yaml @@ -0,0 +1,10 @@ +properties: + details: + type: string + customdata: + type: object + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAvailabilitiesList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAvailabilitiesList.yaml new file mode 100644 index 0000000000..1bb6642fab --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPAvailabilitiesList.yaml @@ -0,0 +1,6 @@ +properties: + available: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservation.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservation.yaml new file mode 100644 index 0000000000..848adb5736 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservation.yaml @@ -0,0 +1,83 @@ +properties: + addon: + type: boolean + address: + type: string + address_family: + type: integer + assignments: + items: + $ref: './IPAssignment.yaml' + type: array + available: + type: string + bill: + type: boolean + cidr: + type: integer + created_at: + format: date-time + type: string + customdata: + type: object + enabled: + type: boolean + details: + type: string + facility: + allOf: + - $ref: './Facility.yaml' + - description: The facility the IP reservation is in. If the facility the IP reservation + was requested in is in a metro, a metro value will also be set, and the subsequent + IP reservation can be used on a metro level. Can be null if requesting an + IP reservation in a metro. + gateway: + type: string + global_ip: + type: boolean + href: + type: string + id: + format: uuid + type: string + manageable: + type: boolean + management: + type: boolean + metal_gateway: + $ref: './MetalGatewayLite.yaml' + metro: + allOf: + - $ref: './Metro.yaml' + - description: The metro the IP reservation is in. As long as the IP reservation + has a metro, it can be used on a metro level. Can be null if requesting an + IP reservation in a facility that is not in a metro. + netmask: + type: string + network: + type: string + project: + $ref: './Project.yaml' + project_lite: + $ref: './Href.yaml' + requested_by: + $ref: './Href.yaml' + public: + type: boolean + state: + type: string + tags: + items: + type: string + type: array + type: + type: string + enum: + - global_ipv4 + - public_ipv4 + - private_ipv4 + - public_ipv6 +type: object +additionalProperties: false +required: + - type diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationList.yaml new file mode 100644 index 0000000000..56393f2547 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationList.yaml @@ -0,0 +1,10 @@ +properties: + ip_addresses: + items: + anyOf: + - $ref: './IPReservation.yaml' + - $ref: './VrfIpReservation.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationRequestInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationRequestInput.yaml new file mode 100644 index 0000000000..d76c68feae --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/IPReservationRequestInput.yaml @@ -0,0 +1,27 @@ +properties: + comments: + type: string + customdata: + type: object + details: + type: string + facility: + type: string + fail_on_approval_required: + type: boolean + metro: + description: The code of the metro you are requesting the IP reservation in. + example: SV + type: string + quantity: + type: integer + tags: + items: + type: string + type: array + type: + type: string +required: +- type +- quantity +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InstancesBatchCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InstancesBatchCreateInput.yaml new file mode 100644 index 0000000000..97c166beea --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InstancesBatchCreateInput.yaml @@ -0,0 +1,18 @@ +properties: + batches: + items: + allOf: + - properties: + hostnames: + items: + type: string + type: array + quantity: + type: integer + description: The number of devices to create in this batch. The hostname may contain an `{{index}}` placeholder, which will be replaced with the index of the device in the batch. For example, if the hostname is `device-{{index}}`, the first device in the batch will have the hostname `device-01`, the second device will have the hostname `device-02`, and so on. + - oneOf: + - $ref: 'DeviceCreateInMetroInput.yaml' + - $ref: 'DeviceCreateInFacilityInput.yaml' + type: array +type: object + diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Interconnection.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Interconnection.yaml new file mode 100644 index 0000000000..191a4414fa --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Interconnection.yaml @@ -0,0 +1,78 @@ +properties: + contact_email: + type: string + description: + type: string + facility: + $ref: './Href.yaml' + id: + format: uuid + type: string + metro: + allOf: + - $ref: './Metro.yaml' + description: |- + The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, + this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports + as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), + this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here. + mode: + description: |- + The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. + The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. + In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances. + enum: + - standard + - tunnel + example: standard + type: string + name: + type: string + organization: + $ref: './Href.yaml' + ports: + items: + $ref: './InterconnectionPort.yaml' + type: array + description: For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s). + redundancy: + type: string + enum: + - primary + - redundant + description: Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection. + service_tokens: + items: + $ref: './FabricServiceToken.yaml' + type: array + description: For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. + There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued. + speed: + description: For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed). + type: integer + example: 10000000000 + status: + type: string + tags: + items: + type: string + type: array + token: + format: uuid + type: string + description: This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated. + type: + type: string + enum: + - shared + - dedicated + description: The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + requested_by: + $ref: './Href.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionList.yaml new file mode 100644 index 0000000000..5683309b58 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionList.yaml @@ -0,0 +1,8 @@ +properties: + interconnections: + items: + $ref: './Interconnection.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPort.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPort.yaml new file mode 100644 index 0000000000..be1d7f5231 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPort.yaml @@ -0,0 +1,39 @@ +properties: + id: + format: uuid + type: string + organization: + $ref: './Href.yaml' + role: + description: Either 'primary' or 'secondary'. + type: string + enum: + - primary + - secondary + status: + type: string + description: For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, + this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the + service token associated is expired. + enum: + - requested + - active + - deleting + - expired + - delete_failed + switch_id: + description: A switch 'short ID' + type: string + virtual_circuits: + items: + $ref: './VirtualCircuit.yaml' + type: array + name: + type: string + speed: + type: integer + link_status: + type: string + href: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPortList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPortList.yaml new file mode 100644 index 0000000000..6c86e0c116 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionPortList.yaml @@ -0,0 +1,6 @@ +properties: + ports: + items: + $ref: './InterconnectionPort.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionUpdateInput.yaml new file mode 100644 index 0000000000..aac3b37de0 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InterconnectionUpdateInput.yaml @@ -0,0 +1,22 @@ +properties: + contact_email: + type: string + description: + type: string + mode: + description: |- + The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. + The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. + In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances. + enum: + - standard + - tunnel + example: standard + type: string + name: + type: string + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invitation.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invitation.yaml new file mode 100644 index 0000000000..fb587f0f61 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invitation.yaml @@ -0,0 +1,37 @@ +properties: + created_at: + format: date-time + type: string + href: + type: string + id: + format: uuid + type: string + invitation: + $ref: './Href.yaml' + invited_by: + $ref: './Href.yaml' + invitee: + type: string + format: email + nonce: + type: string + organization: + $ref: './Href.yaml' + projects: + items: + $ref: './Href.yaml' + type: array + roles: + items: + type: string + enum: + - admin + - billing + - collaborator + - limited_collaborator + type: array + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationInput.yaml new file mode 100644 index 0000000000..3461ddcb57 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationInput.yaml @@ -0,0 +1,26 @@ +properties: + invitee: + type: string + format: email + message: + type: string + organization_id: + type: string + format: uuid + projects_ids: + items: + type: string + format: uuid + type: array + roles: + items: + type: string + enum: + - admin + - billing + - collaborator + - limited_collaborator + type: array +required: +- invitee +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationList.yaml new file mode 100644 index 0000000000..5077f62387 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvitationList.yaml @@ -0,0 +1,6 @@ +properties: + invitations: + items: + $ref: './Membership.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invoice.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invoice.yaml new file mode 100644 index 0000000000..ec764a0e49 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Invoice.yaml @@ -0,0 +1,41 @@ +properties: + amount: + format: float + type: number + balance: + format: float + type: number + created_on: + format: date + type: string + credit_amount: + format: float + type: number + credits_applied: + format: float + type: number + currency: + example: USD + type: string + due_on: + format: date + type: string + id: + format: uuid + type: string + items: + items: + $ref: './LineItem.yaml' + type: array + number: + type: string + project: + $ref: './ProjectIdName.yaml' + reference_number: + type: string + status: + type: string + target_date: + format: date + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvoiceList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvoiceList.yaml new file mode 100644 index 0000000000..1641046008 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/InvoiceList.yaml @@ -0,0 +1,6 @@ +properties: + invoices: + items: + $ref: './Invoice.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/License.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/License.yaml new file mode 100644 index 0000000000..d16812b660 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/License.yaml @@ -0,0 +1,15 @@ +properties: + description: + type: string + id: + format: uuid + type: string + license_key: + type: string + licensee_product: + $ref: './Href.yaml' + project: + $ref: './Href.yaml' + size: + type: number +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseCreateInput.yaml new file mode 100644 index 0000000000..f1bec3dd43 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseCreateInput.yaml @@ -0,0 +1,8 @@ +properties: + description: + type: string + licensee_product_id: + type: string + size: + type: number +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseList.yaml new file mode 100644 index 0000000000..a74cf2f0e1 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseList.yaml @@ -0,0 +1,6 @@ +properties: + licenses: + items: + $ref: './License.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseUpdateInput.yaml new file mode 100644 index 0000000000..11c51efa86 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LicenseUpdateInput.yaml @@ -0,0 +1,6 @@ +properties: + description: + type: string + size: + type: number +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LineItem.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LineItem.yaml new file mode 100644 index 0000000000..82ae67adea --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/LineItem.yaml @@ -0,0 +1,18 @@ +properties: + amount: + format: float + type: number + currency: + type: string + description: + type: string + details: + type: string + plan: + $ref: './Plan.yaml' + unit: + type: string + unit_price: + format: float + type: number +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Membership.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Membership.yaml new file mode 100644 index 0000000000..9adde1ac64 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Membership.yaml @@ -0,0 +1,21 @@ +properties: + created_at: + format: date-time + type: string + href: + type: string + id: + format: uuid + type: string + project: + $ref: './Href.yaml' + roles: + items: + type: string + type: array + updated_at: + format: date-time + type: string + user: + $ref: './Href.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipInput.yaml new file mode 100644 index 0000000000..6054927a1d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipInput.yaml @@ -0,0 +1,6 @@ +properties: + role: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipList.yaml new file mode 100644 index 0000000000..81d7735b31 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MembershipList.yaml @@ -0,0 +1,6 @@ +properties: + memberships: + items: + $ref: './Membership.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Meta.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Meta.yaml new file mode 100644 index 0000000000..88a52dc17b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Meta.yaml @@ -0,0 +1,18 @@ +properties: + first: + $ref: './Href.yaml' + last: + $ref: './Href.yaml' + next: + $ref: './Href.yaml' + previous: + $ref: './Href.yaml' + self: + $ref: './Href.yaml' + total: + type: integer + current_page: + type: integer + last_page: + type: integer +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metadata.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metadata.yaml new file mode 100644 index 0000000000..4c2d5e622d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metadata.yaml @@ -0,0 +1,99 @@ +properties: + class: + type: string + customdata: + default: {} + type: object + additionalProperties: true + facility: + description: The facility code of the instance + type: string + hostname: + type: string + id: + format: uuid + type: string + iqn: + type: string + metro: + description: The metro code of the instance + type: string + network: + properties: + addresses: + items: + type: string + type: array + interfaces: + items: + type: object + type: array + network: + properties: + bonding: + properties: + link_aggregation: + type: string + mac: + type: string + mode: + type: integer + type: object + type: object + type: object + operating_system: + type: object + plan: + description: The plan slug of the instance + type: string + private_subnets: + description: An array of the private subnets + items: + type: string + type: array + reserved: + type: boolean + specs: + description: The specs of the plan version of the instance + type: object + ssh_keys: + items: + type: string + type: array + switch_short_id: + type: string + state: + type: string + enum: + - queued + - provisioning + - deprovisioning + - reinstalling + - active + - inactive + - failed + - powering_on + - powering_off + - deleted + description: |- + The current state the instance is in. + + * When an instance is initially created it will be in the `queued` state until it is picked up by the provisioner. + * Once provisioning has begun on the instance it's state will move to `provisioning`. + * When an instance is deleted, it will move to `deprovisioning` state until the deprovision is completed and the instance state moves to `deleted`. + * If an instance fails to provision or deprovision it will move to `failed` state. + * Once an instance has completed provisioning it will move to `active` state. + * If an instance is currently powering off or powering on it will move to `powering_off` or `powering_on` states respectively. + * When the instance is powered off completely it will move to the `inactive` state. + * When an instance is powered on completely it will move to the `active` state. + * Using the reinstall action to install a new OS on the instance will cause the instance state to change to `reinstalling`. + * When the reinstall action is complete the instance will move to `active` state. + tags: + items: + type: string + type: array + volumes: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGateway.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGateway.yaml new file mode 100644 index 0000000000..ed0eb307e4 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGateway.yaml @@ -0,0 +1,32 @@ +properties: + created_at: + format: date-time + type: string + created_by: + $ref: './Href.yaml' + href: + type: string + id: + format: uuid + type: string + ip_reservation: + $ref: './IPReservation.yaml' + project: + $ref: './Project.yaml' + state: + description: The current state of the Metal Gateway. 'Ready' indicates the gateway + record has been configured, but is currently not active on the network. 'Active' + indicates the gateway has been configured on the network. 'Deleting' is a temporary + state used to indicate that the gateway is in the process of being un-configured + from the network, after which the gateway record will be deleted. + enum: + - ready + - active + - deleting + type: string + updated_at: + format: date-time + type: string + virtual_network: + $ref: './VirtualNetwork.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayCreateInput.yaml new file mode 100644 index 0000000000..e4be2e5497 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayCreateInput.yaml @@ -0,0 +1,20 @@ +properties: + ip_reservation_id: + description: The UUID of an IP reservation that belongs to the same project as + where the metal gateway will be created in. This field is required unless the + private IPv4 subnet size is specified. + format: uuid + type: string + private_ipv4_subnet_size: + description: |- + The subnet size (8, 16, 32, 64, or 128) of the private IPv4 reservation that will be created for the metal gateway. This field is required unless a project IP reservation was specified. + Please keep in mind that the number of private metal gateway ranges are limited per project. If you would like to increase the limit per project, please contact support for assistance. + type: integer + virtual_network_id: + description: The UUID of a metro virtual network that belongs to the same project + as where the metal gateway will be created in. + format: uuid + type: string +required: +- virtual_network_id +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayElasticIpCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayElasticIpCreateInput.yaml new file mode 100644 index 0000000000..dea3a00ccd --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayElasticIpCreateInput.yaml @@ -0,0 +1,24 @@ +properties: + address: + type: string + description: An IP address (or IP Address range) contained within one of the project's IP Reservations + example: "147.75.234.8/31" + next_hop: + type: string + format: ipv4 + description: An IP address contained within the Metal Gateways' IP Reservation range. + example: "192.168.12.13" + customdata: + type: object + additionalProperties: true + description: Optional User-defined JSON object value. + tags: + items: + type: string + type: array + description: Optional list of User-defined tags. Can be used by users to provide additional details or context regarding the purpose or usage of this resource. + example: [NY,prod,public] +required: +- address +- next_hop +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayList.yaml new file mode 100644 index 0000000000..3b66ccdcec --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayList.yaml @@ -0,0 +1,10 @@ +properties: + metal_gateways: + items: + anyOf: + - $ref: './MetalGateway.yaml' + - $ref: './VrfMetalGateway.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayLite.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayLite.yaml new file mode 100644 index 0000000000..ce42cc15eb --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetalGatewayLite.yaml @@ -0,0 +1,35 @@ +properties: + created_at: + format: date-time + type: string + gateway_address: + description: The gateway address with subnet CIDR value for this Metal Gateway. + For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 + would have a gateway address of 10.1.2.1/27. + type: string + example: 10.1.2.1/27 + href: + type: string + id: + format: uuid + type: string + state: + description: The current state of the Metal Gateway. 'Ready' indicates the gateway + record has been configured, but is currently not active on the network. 'Active' + indicates the gateway has been configured on the network. 'Deleting' is a temporary + state used to indicate that the gateway is in the process of being un-configured + from the network, after which the gateway record will be deleted. + enum: + - ready + - active + - deleting + type: string + updated_at: + format: date-time + type: string + vlan: + description: 'The VLAN id of the Virtual Network record associated to this Metal + Gateway.' + type: integer + example: 1001 +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metro.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metro.yaml new file mode 100644 index 0000000000..c98a13f861 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Metro.yaml @@ -0,0 +1,11 @@ +properties: + code: + type: string + country: + type: string + id: + format: uuid + type: string + name: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroInput.yaml new file mode 100644 index 0000000000..0c6ebac58c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroInput.yaml @@ -0,0 +1,9 @@ +required: + - metro +properties: + metro: + description: |- + Metro code or ID of where the instance should be provisioned in. + Either metro or facility must be provided. + type: string + example: sv \ No newline at end of file diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroList.yaml new file mode 100644 index 0000000000..e3863ad47c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/MetroList.yaml @@ -0,0 +1,6 @@ +properties: + metros: + items: + $ref: './Metro.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Mount.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Mount.yaml new file mode 100644 index 0000000000..916e316178 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Mount.yaml @@ -0,0 +1,12 @@ +properties: + device: + type: string + format: + type: string + point: + type: string + options: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/NewPassword.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/NewPassword.yaml new file mode 100644 index 0000000000..2be80d133c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/NewPassword.yaml @@ -0,0 +1,4 @@ +properties: + new_password: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystem.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystem.yaml new file mode 100644 index 0000000000..eb027d8377 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystem.yaml @@ -0,0 +1,35 @@ +properties: + distro: + type: string + distro_label: + type: string + id: + format: uuid + type: string + licensed: + description: Licenced OS is priced according to pricing property + type: boolean + name: + type: string + preinstallable: + description: Servers can be already preinstalled with OS in order to shorten provision + time. + type: boolean + pricing: + description: This object contains price per time unit and optional multiplier + value if licence price depends on hardware plan or components (e.g. number of + cores) + type: object + provisionable_on: + items: + type: string + type: array + slug: + type: string + version: + type: string + default_operating_system: + description: Default operating system for the distro. + readOnly: true + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystemList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystemList.yaml new file mode 100644 index 0000000000..0179361023 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OperatingSystemList.yaml @@ -0,0 +1,6 @@ +properties: + operating_systems: + items: + $ref: './OperatingSystem.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Organization.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Organization.yaml new file mode 100644 index 0000000000..534c0b5184 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Organization.yaml @@ -0,0 +1,49 @@ +properties: + address: + $ref: './Address.yaml' + billing_address: + $ref: './Address.yaml' + created_at: + format: date-time + type: string + credit_amount: + format: float + type: number + customdata: + type: object + description: + type: string + enforce_2fa_at: + description: Force to all members to have enabled the two factor authentication + after that date, unless the value is null + format: date-time + type: string + id: + format: uuid + type: string + logo: + type: string + members: + items: + $ref: './Href.yaml' + type: array + memberships: + items: + $ref: './Href.yaml' + type: array + name: + type: string + projects: + items: + $ref: './Href.yaml' + type: array + terms: + type: integer + twitter: + type: string + updated_at: + format: date-time + type: string + website: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationInput.yaml new file mode 100644 index 0000000000..3f46526c6e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationInput.yaml @@ -0,0 +1,25 @@ +properties: + address: + $ref: './Address.yaml' + billing_address: + $ref: './Address.yaml' + customdata: + type: object + description: + type: string + enforce_2fa_at: + description: Force to all members to have enabled the two factor authentication + after that date, unless the value is null + format: date-time + type: string + logo: + description: The logo for the organization; must be base64-encoded image data + format: byte + type: string + name: + type: string + twitter: + type: string + website: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationList.yaml new file mode 100644 index 0000000000..43d0c9ec0f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/OrganizationList.yaml @@ -0,0 +1,8 @@ +properties: + meta: + $ref: './Meta.yaml' + organizations: + items: + $ref: './Organization.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ParentBlock.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ParentBlock.yaml new file mode 100644 index 0000000000..0eeeed3e01 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ParentBlock.yaml @@ -0,0 +1,10 @@ +properties: + cidr: + type: integer + href: + type: string + netmask: + type: string + network: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Partition.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Partition.yaml new file mode 100644 index 0000000000..f01903546e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Partition.yaml @@ -0,0 +1,9 @@ +properties: + label: + type: string + number: + type: integer + format: int32 + size: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethod.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethod.yaml new file mode 100644 index 0000000000..1ead6a6734 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethod.yaml @@ -0,0 +1,37 @@ +properties: + billing_address: + $ref: './PaymentMethodBillingAddress.yaml' + card_type: + type: string + cardholder_name: + type: string + created_at: + format: date-time + type: string + created_by_user: + $ref: './Href.yaml' + default: + type: boolean + email: + type: string + expiration_month: + type: string + expiration_year: + type: string + id: + format: uuid + type: string + name: + type: string + organization: + $ref: './Href.yaml' + projects: + items: + $ref: './Href.yaml' + type: array + type: + type: string + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodBillingAddress.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodBillingAddress.yaml new file mode 100644 index 0000000000..e9a84861ab --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodBillingAddress.yaml @@ -0,0 +1,8 @@ +properties: + country_code_alpha2: + type: string + postal_code: + type: string + street_address: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodCreateInput.yaml new file mode 100644 index 0000000000..662f1eb779 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodCreateInput.yaml @@ -0,0 +1,11 @@ +properties: + default: + type: boolean + name: + type: string + nonce: + type: string +required: +- name +- nonce +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodList.yaml new file mode 100644 index 0000000000..f6318e4037 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodList.yaml @@ -0,0 +1,6 @@ +properties: + payment_methods: + items: + $ref: './PaymentMethod.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodUpdateInput.yaml new file mode 100644 index 0000000000..01092b0e1f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PaymentMethodUpdateInput.yaml @@ -0,0 +1,14 @@ +properties: + billing_address: + type: object + cardholder_name: + type: string + default: + type: boolean + expiration_month: + type: string + expiration_year: + type: integer + name: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Plan.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Plan.yaml new file mode 100644 index 0000000000..0b5f1d5267 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Plan.yaml @@ -0,0 +1,140 @@ +properties: + available_in: + description: Shows which facilities the plan is available in, and the facility-based + price if it is different from the default price. + items: + type: object + properties: + href: + description: href to the Facility + type: string + price: + type: object + properties: + hour: + type: number + format: double + example: 1.23 + type: array + available_in_metros: + description: Shows which metros the plan is available in, and the metro-based + price if it is different from the default price. + items: + type: object + properties: + href: + description: href to the Metro + type: string + price: + type: object + properties: + hour: + type: number + format: double + example: 1.23 + type: array + categories: + description: Categories of the plan, like compute or storage. A Plan can belong to multiple categories. + items: + type: string + type: array + class: + type: string + example: m3.large.x86 + description: + type: string + deployment_types: + items: + type: string + enum: + - on_demand + - spot_market + type: array + minItems: 0 + uniqueItems: true + id: + format: uuid + type: string + legacy: + description: Deprecated. Always return false + type: boolean + x-deprecated: true + line: + type: string + name: + type: string + pricing: + type: object + slug: + type: string + example: m3.large.x86 + specs: + type: object + properties: + cpus: + type: array + items: + type: object + properties: + count: + type: integer + type: + type: string + memory: + type: object + properties: + total: + type: string + drives: + type: array + items: + type: object + properties: + count: + type: integer + type: + type: string + enum: + - HDD + - SSD + - NVME + size: + type: string + example: 3.84TB + category: + type: string + enum: + - boot + - cache + - storage + nics: + type: array + items: + type: object + properties: + count: + type: integer + example: 2 + type: + type: string + enum: + - 1Gbps + - 10Gbps + - 25Gbps + features: + type: object + properties: + raid: + type: boolean + txt: + type: boolean + uefi: + type: boolean + type: + description: The plan type + type: string + enum: + - standard + - workload_optimized + - custom +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PlanList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PlanList.yaml new file mode 100644 index 0000000000..a22e4decf8 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PlanList.yaml @@ -0,0 +1,6 @@ +properties: + plans: + items: + $ref: './Plan.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Port.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Port.yaml new file mode 100644 index 0000000000..bceaf31b77 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Port.yaml @@ -0,0 +1,40 @@ +description: Port is a hardware port associated with a reserved or instantiated hardware device. +properties: + bond: + $ref: './BondPortData.yaml' + data: + $ref: './PortData.yaml' + disbond_operation_supported: + description: Indicates whether or not the bond can be broken on the port (when + applicable). + type: boolean + href: + type: string + id: + format: uuid + type: string + name: + type: string + example: bond0 + type: + description: Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports + type: string + enum: + - NetworkPort + - NetworkBondPort + network_type: + description: Composite network type of the bond + type: string + enum: + - 'layer2-bonded' + - 'layer2-individual' + - 'layer3' + - 'hybrid' + - 'hybrid-bonded' + native_virtual_network: + $ref: './VirtualNetwork.yaml' + virtual_networks: + items: + $ref: './Href.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortAssignInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortAssignInput.yaml new file mode 100644 index 0000000000..2e08fd8053 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortAssignInput.yaml @@ -0,0 +1,8 @@ +properties: + vnid: + description: > + Virtual Network ID. May be the UUID of the Virtual Network record, + or the VLAN value itself. + type: string + example: "1001" +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortConvertLayer3Input.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortConvertLayer3Input.yaml new file mode 100644 index 0000000000..175e77c7bc --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortConvertLayer3Input.yaml @@ -0,0 +1,11 @@ +properties: + request_ips: + items: + properties: + address_family: + type: integer + public: + type: boolean + type: object + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortData.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortData.yaml new file mode 100644 index 0000000000..adf41a018d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortData.yaml @@ -0,0 +1,8 @@ +properties: + mac: + description: MAC address is set for NetworkPort ports + type: string + bonded: + description: Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignment.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignment.yaml new file mode 100644 index 0000000000..889b34867e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignment.yaml @@ -0,0 +1,24 @@ +properties: + created_at: + format: date-time + type: string + id: + format: uuid + type: string + native: + type: boolean + port: + $ref: './Href.yaml' + state: + enum: + - assigned + - unassigning + type: string + updated_at: + format: date-time + type: string + virtual_network: + $ref: './Href.yaml' + vlan: + type: integer +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatch.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatch.yaml new file mode 100644 index 0000000000..0d5e8a2bbe --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatch.yaml @@ -0,0 +1,45 @@ +properties: + created_at: + format: date-time + type: string + error_messages: + items: + type: string + type: array + id: + format: uuid + type: string + port: + $ref: './Port.yaml' + quantity: + type: integer + state: + enum: + - queued + - in_progress + - completed + - failed + type: string + updated_at: + format: date-time + type: string + vlan_assignments: + items: + properties: + id: + format: uuid + type: string + native: + type: boolean + state: + enum: + - assigned + - unassigned + type: string + vlan: + type: integer + type: object + type: array + project: + $ref: './Href.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchCreateInput.yaml new file mode 100644 index 0000000000..a6bc092549 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchCreateInput.yaml @@ -0,0 +1,16 @@ +properties: + vlan_assignments: + items: + properties: + native: + type: boolean + state: + enum: + - assigned + - unassigned + type: string + vlan: + type: string + type: object + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchList.yaml new file mode 100644 index 0000000000..af95e08f3b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentBatchList.yaml @@ -0,0 +1,6 @@ +properties: + batches: + items: + $ref: './PortVlanAssignmentBatch.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentList.yaml new file mode 100644 index 0000000000..d058582e92 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/PortVlanAssignmentList.yaml @@ -0,0 +1,6 @@ +properties: + vlan_assignments: + items: + $ref: './PortVlanAssignment.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Project.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Project.yaml new file mode 100644 index 0000000000..3ee880b0af --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Project.yaml @@ -0,0 +1,62 @@ +properties: + bgp_config: + $ref: './Href.yaml' + created_at: + format: date-time + type: string + customdata: + type: object + devices: + items: + $ref: './Href.yaml' + type: array + id: + format: uuid + type: string + invitations: + items: + $ref: './Href.yaml' + type: array + max_devices: + type: object + members: + items: + $ref: './Href.yaml' + type: array + memberships: + items: + $ref: './Href.yaml' + type: array + name: + type: string + minLength: 1 + maxLength: 80 + description: The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis. + network_status: + type: object + organization: + $ref: './Organization.yaml' + payment_method: + $ref: './Href.yaml' + ssh_keys: + items: + $ref: './Href.yaml' + type: array + updated_at: + format: date-time + type: string + volumes: + items: + $ref: './Href.yaml' + type: array + type: + type: string + description: The type of the project. Projects of type `vmce` are part of an in development feature and not available to all customers. + enum: + - default + - vmce + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateFromRootInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateFromRootInput.yaml new file mode 100644 index 0000000000..e138c70421 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateFromRootInput.yaml @@ -0,0 +1,28 @@ +properties: + customdata: + type: object + name: + type: string + minLength: 1 + maxLength: 80 + description: The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis. + organization_id: + format: uuid + type: string + payment_method_id: + format: uuid + type: string + type: + type: string + description: The type of the project. If no type is specified the project type will automatically be `default` + Projects of type 'vmce' are part of an in development feature and not available to all customers. + enum: + - default + - vmce + tags: + items: + type: string + type: array +required: +- name +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateInput.yaml new file mode 100644 index 0000000000..5dd2966ba1 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectCreateInput.yaml @@ -0,0 +1,25 @@ +properties: + customdata: + type: object + name: + type: string + minLength: 1 + maxLength: 80 + description: The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis. + payment_method_id: + format: uuid + type: string + type: + type: string + description: The type of the project. If no type is specified the project type will automatically be `default` + Projects of type 'vmce' are part of an in development feature and not available to all customers. + enum: + - default + - vmce + tags: + items: + type: string + type: array +required: +- name +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectIdName.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectIdName.yaml new file mode 100644 index 0000000000..3a06d9b4c7 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectIdName.yaml @@ -0,0 +1,7 @@ +properties: + id: + format: uuid + type: string + name: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectList.yaml new file mode 100644 index 0000000000..a4c8a58cf2 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectList.yaml @@ -0,0 +1,8 @@ +properties: + meta: + $ref: './Meta.yaml' + projects: + items: + $ref: './Project.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUpdateInput.yaml new file mode 100644 index 0000000000..7acaad093d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUpdateInput.yaml @@ -0,0 +1,18 @@ +properties: + backend_transfer_enabled: + type: boolean + customdata: + type: object + name: + type: string + minLength: 1 + maxLength: 80 + description: The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis. + payment_method_id: + format: uuid + type: string + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsage.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsage.yaml new file mode 100644 index 0000000000..cec80ec2ac --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsage.yaml @@ -0,0 +1,20 @@ +properties: + facility: + type: string + name: + type: string + plan: + type: string + plan_version: + type: string + price: + type: string + quantity: + type: string + total: + type: string + type: + type: string + unit: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsageList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsageList.yaml new file mode 100644 index 0000000000..827d8ad234 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ProjectUsageList.yaml @@ -0,0 +1,6 @@ +properties: + usages: + items: + $ref: './ProjectUsage.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Raid.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Raid.yaml new file mode 100644 index 0000000000..c2a892f638 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Raid.yaml @@ -0,0 +1,10 @@ +properties: + devices: + items: + type: string + type: array + level: + type: string + name: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/RecoveryCodeList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/RecoveryCodeList.yaml new file mode 100644 index 0000000000..4092823211 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/RecoveryCodeList.yaml @@ -0,0 +1,6 @@ +properties: + recovery_codes: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKey.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKey.yaml new file mode 100644 index 0000000000..135e59d0c3 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKey.yaml @@ -0,0 +1,25 @@ +properties: + created_at: + format: date-time + type: string + entity: + $ref: './Href.yaml' + fingerprint: + type: string + href: + type: string + id: + format: uuid + type: string + key: + type: string + label: + type: string + updated_at: + format: date-time + type: string + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyCreateInput.yaml new file mode 100644 index 0000000000..2aab7ffafd --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyCreateInput.yaml @@ -0,0 +1,18 @@ +properties: + instances_ids: + description: |- + List of instance UUIDs to associate SSH key with, when empty array is sent all instances belonging + to entity will be included + items: + format: uuid + type: string + type: array + key: + type: string + label: + type: string + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyInput.yaml new file mode 100644 index 0000000000..fb5db69883 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyInput.yaml @@ -0,0 +1,10 @@ +properties: + key: + type: string + label: + type: string + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyList.yaml new file mode 100644 index 0000000000..8a99546c62 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SSHKeyList.yaml @@ -0,0 +1,6 @@ +properties: + ssh_keys: + items: + $ref: './SSHKey.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemRequest.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemRequest.yaml new file mode 100644 index 0000000000..12e996ebce --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemRequest.yaml @@ -0,0 +1,15 @@ +properties: + amount: + format: float + type: number + metro_id: + format: uuid + type: string + plan_id: + format: uuid + type: string + quantity: + type: integer + term: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemResponse.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemResponse.yaml new file mode 100644 index 0000000000..06b2f9eb89 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationItemResponse.yaml @@ -0,0 +1,29 @@ +properties: + amount: + format: float + type: number + id: + type: string + metro_code: + type: string + metro_id: + format: uuid + type: string + metro_name: + type: string + plan_id: + format: uuid + type: string + plan_name: + type: string + plan_slug: + type: string + plan_categories: + type: array + items: + type: string + quantity: + type: integer + term: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationList.yaml new file mode 100644 index 0000000000..c096091563 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationList.yaml @@ -0,0 +1,6 @@ +properties: + reservations: + items: + $ref: './SelfServiceReservationResponse.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationResponse.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationResponse.yaml new file mode 100644 index 0000000000..60cbfb0b89 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SelfServiceReservationResponse.yaml @@ -0,0 +1,40 @@ +properties: + created_at: + format: date-time + type: string + item: + items: + $ref: './SelfServiceReservationItemResponse.yaml' + type: array + notes: + type: string + organization: + type: string + organization_id: + format: uuid + type: string + period: + properties: + count: + enum: + - 12 + - 36 + type: integer + unit: + enum: + - monthly + type: string + type: object + project: + type: string + project_id: + format: uuid + type: string + start_date: + format: date-time + type: string + status: + type: string + total_cost: + type: integer +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ServerInfo.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ServerInfo.yaml new file mode 100644 index 0000000000..83566aa5ac --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/ServerInfo.yaml @@ -0,0 +1,14 @@ +properties: + facility: + deprecated: true + type: string + metro: + description: The metro ID or code to check the capacity in. + type: string + plan: + description: The plan ID or slug to check the capacity of. + type: string + quantity: + description: The number of servers to check the capacity of. + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesList.yaml new file mode 100644 index 0000000000..1164d10c26 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesList.yaml @@ -0,0 +1,4 @@ +properties: + spot_market_prices: + $ref: './SpotPricesReport.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroList.yaml new file mode 100644 index 0000000000..e0a9b36bde --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroList.yaml @@ -0,0 +1,4 @@ +properties: + spot_market_prices: + $ref: './SpotMarketPricesPerMetroReport.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroReport.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroReport.yaml new file mode 100644 index 0000000000..3dae22bcdc --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketPricesPerMetroReport.yaml @@ -0,0 +1,16 @@ +properties: + am: + $ref: './SpotPricesPerFacility.yaml' + ch: + $ref: './SpotPricesPerFacility.yaml' + da: + $ref: './SpotPricesPerFacility.yaml' + la: + $ref: './SpotPricesPerFacility.yaml' + ny: + $ref: './SpotPricesPerFacility.yaml' + sg: + $ref: './SpotPricesPerFacility.yaml' + sv: + $ref: './SpotPricesPerFacility.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequest.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequest.yaml new file mode 100644 index 0000000000..bea875177d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequest.yaml @@ -0,0 +1,30 @@ +properties: + created_at: + format: date-time + type: string + devices_max: + type: integer + devices_min: + type: integer + end_at: + format: date-time + type: string + facilities: + $ref: './Href.yaml' + href: + type: string + id: + format: uuid + type: string + instances: + $ref: './Href.yaml' + max_bid_price: + format: float + type: number + metro: + allOf: + - $ref: './Metro.yaml' + - description: The metro the spot market request was created in + project: + $ref: './Href.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestCreateInput.yaml new file mode 100644 index 0000000000..085397cb1d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestCreateInput.yaml @@ -0,0 +1,76 @@ +properties: + devices_max: + type: integer + devices_min: + type: integer + end_at: + format: date-time + type: string + facilities: + deprecated: true + items: + format: uuid + type: string + type: array + instance_parameters: + properties: + always_pxe: + type: boolean + billing_cycle: + type: string + customdata: + type: object + description: + type: string + features: + items: + type: string + type: array + hostname: + type: string + hostnames: + items: + type: string + type: array + locked: + type: boolean + description: Whether the device should be locked, preventing accidental deletion. + no_ssh_keys: + type: boolean + operating_system: + type: string + plan: + type: string + private_ipv4_subnet_size: + type: integer + project_ssh_keys: + items: + format: uuid + type: string + type: array + public_ipv4_subnet_size: + type: integer + tags: + items: + type: string + type: array + termination_time: + format: date-time + type: string + user_ssh_keys: + description: The UUIDs of users whose SSH keys should be included on the provisioned + device. + items: + format: uuid + type: string + type: array + userdata: + type: string + type: object + max_bid_price: + format: float + type: number + metro: + description: The metro ID or code the spot market request will be created in. + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestList.yaml new file mode 100644 index 0000000000..3ed96cd020 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotMarketRequestList.yaml @@ -0,0 +1,6 @@ +properties: + spot_market_requests: + items: + $ref: './SpotMarketRequest.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapoints.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapoints.yaml new file mode 100644 index 0000000000..27674b98fb --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapoints.yaml @@ -0,0 +1,6 @@ +properties: + datapoints: + items: + $ref: './SpotPricesDatapointsList.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapointsList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapointsList.yaml new file mode 100644 index 0000000000..038972f5fa --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesDatapointsList.yaml @@ -0,0 +1,3 @@ +items: + type: number +type: array diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesHistoryReport.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesHistoryReport.yaml new file mode 100644 index 0000000000..3a3c8522a8 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesHistoryReport.yaml @@ -0,0 +1,4 @@ +properties: + prices_history: + $ref: './SpotPricesDatapoints.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerBaremetal.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerBaremetal.yaml new file mode 100644 index 0000000000..6c9b0b0a45 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerBaremetal.yaml @@ -0,0 +1,5 @@ +properties: + price: + format: float + type: number +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerFacility.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerFacility.yaml new file mode 100644 index 0000000000..a0ba3def90 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerFacility.yaml @@ -0,0 +1,20 @@ +properties: + baremetal_0: + $ref: './SpotPricesPerBaremetal.yaml' + baremetal_1: + $ref: './SpotPricesPerBaremetal.yaml' + baremetal_2: + $ref: './SpotPricesPerBaremetal.yaml' + baremetal_2a: + $ref: './SpotPricesPerBaremetal.yaml' + baremetal_2a2: + $ref: './SpotPricesPerBaremetal.yaml' + baremetal_3: + $ref: './SpotPricesPerBaremetal.yaml' + baremetal_s: + $ref: './SpotPricesPerBaremetal.yaml' + c2.medium.x86: + $ref: './SpotPricesPerBaremetal.yaml' + m2.xlarge.x86: + $ref: './SpotPricesPerBaremetal.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerNewFacility.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerNewFacility.yaml new file mode 100644 index 0000000000..e72795c2ac --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesPerNewFacility.yaml @@ -0,0 +1,4 @@ +properties: + baremetal_1e: + $ref: './SpotPricesPerBaremetal.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesReport.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesReport.yaml new file mode 100644 index 0000000000..15b5911114 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SpotPricesReport.yaml @@ -0,0 +1,30 @@ +properties: + ams1: + $ref: './SpotPricesPerFacility.yaml' + atl1: + $ref: './SpotPricesPerNewFacility.yaml' + dfw1: + $ref: './SpotPricesPerNewFacility.yaml' + ewr1: + $ref: './SpotPricesPerFacility.yaml' + fra1: + $ref: './SpotPricesPerNewFacility.yaml' + iad1: + $ref: './SpotPricesPerNewFacility.yaml' + lax1: + $ref: './SpotPricesPerNewFacility.yaml' + nrt1: + $ref: './SpotPricesPerFacility.yaml' + ord1: + $ref: './SpotPricesPerNewFacility.yaml' + sea1: + $ref: './SpotPricesPerNewFacility.yaml' + sin1: + $ref: './SpotPricesPerNewFacility.yaml' + sjc1: + $ref: './SpotPricesPerFacility.yaml' + syd1: + $ref: './SpotPricesPerNewFacility.yaml' + yyz1: + $ref: './SpotPricesPerNewFacility.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Storage.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Storage.yaml new file mode 100644 index 0000000000..a800531d77 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Storage.yaml @@ -0,0 +1,14 @@ +properties: + disks: + items: + $ref: './Disk.yaml' + type: array + raid: + items: + $ref: './Raid.yaml' + type: array + filesystems: + items: + $ref: './Filesystem.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SupportRequestInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SupportRequestInput.yaml new file mode 100644 index 0000000000..27a7a6402e --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/SupportRequestInput.yaml @@ -0,0 +1,20 @@ +properties: + device_id: + type: string + message: + type: string + priority: + enum: + - urgent + - high + - medium + - low + type: string + project_id: + type: string + subject: + type: string +required: +- subject +- message +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequest.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequest.yaml new file mode 100644 index 0000000000..86f4eb42c4 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequest.yaml @@ -0,0 +1,17 @@ +properties: + created_at: + format: date-time + type: string + href: + type: string + id: + format: uuid + type: string + project: + $ref: './Href.yaml' + target_organization: + $ref: './Href.yaml' + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestInput.yaml new file mode 100644 index 0000000000..21584bd9e5 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestInput.yaml @@ -0,0 +1,5 @@ +properties: + target_organization_id: + format: uuid + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestList.yaml new file mode 100644 index 0000000000..2e22bdbb9b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/TransferRequestList.yaml @@ -0,0 +1,6 @@ +properties: + transfers: + items: + $ref: './TransferRequest.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UpdateEmailInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UpdateEmailInput.yaml new file mode 100644 index 0000000000..01eec3c43b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UpdateEmailInput.yaml @@ -0,0 +1,4 @@ +properties: + default: + type: boolean +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/User.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/User.yaml new file mode 100644 index 0000000000..b81db71059 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/User.yaml @@ -0,0 +1,54 @@ +properties: + avatar_thumb_url: + type: string + avatar_url: + type: string + created_at: + format: date-time + type: string + customdata: + type: object + default_organization_id: + type: string + format: uuid + default_project_id: + type: string + format: uuid + email: + type: string + emails: + items: + $ref: './Href.yaml' + type: array + first_name: + type: string + fraud_score: + type: string + full_name: + type: string + href: + type: string + id: + format: uuid + type: string + last_login_at: + format: date-time + type: string + last_name: + type: string + max_organizations: + type: integer + max_projects: + type: integer + phone_number: + type: string + short_id: + type: string + timezone: + type: string + two_factor_auth: + type: string + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserCreateInput.yaml new file mode 100644 index 0000000000..b7d0822921 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserCreateInput.yaml @@ -0,0 +1,45 @@ +properties: + avatar: + format: binary + type: string + company_name: + type: string + company_url: + type: string + customdata: + type: object + emails: + items: + $ref: './EmailInput.yaml' + type: array + first_name: + type: string + last_name: + type: string + level: + type: string + password: + type: string + phone_number: + type: string + social_accounts: + type: object + timezone: + type: string + title: + type: string + two_factor_auth: + type: string + verified_at: + format: date-time + type: string + invitation_id: + type: string + format: uuid + nonce: + type: string +required: +- first_name +- last_name +- emails +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLimited.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLimited.yaml new file mode 100644 index 0000000000..3e909c3cdb --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLimited.yaml @@ -0,0 +1,21 @@ +properties: + avatar_thumb_url: + description: Avatar thumbnail URL of the User + type: string + avatar_url: + description: Avatar URL of the User + type: string + full_name: + description: Full name of the User + type: string + href: + description: API URL uniquely representing the User + type: string + id: + description: ID of the User + format: uuid + type: string +required: + - id + - short_id +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserList.yaml new file mode 100644 index 0000000000..5ed5b73e00 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserList.yaml @@ -0,0 +1,8 @@ +properties: + meta: + $ref: './Meta.yaml' + users: + items: + $ref: './User.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLite.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLite.yaml new file mode 100644 index 0000000000..333edef431 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserLite.yaml @@ -0,0 +1,38 @@ +properties: + avatar_thumb_url: + description: Avatar thumbnail URL of the User + type: string + created_at: + description: When the user was created + format: date-time + type: string + email: + description: Primary email address of the User + type: string + first_name: + description: First name of the User + type: string + full_name: + description: Full name of the User + type: string + href: + description: API URL uniquely representing the User + type: string + id: + description: ID of the User + format: uuid + type: string + last_name: + description: Last name of the User + type: string + short_id: + description: Short ID of the User + type: string + updated_at: + description: When the user details were last updated + format: date-time + type: string +required: +- id +- short_id +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserUpdateInput.yaml new file mode 100644 index 0000000000..6ba885f608 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/UserUpdateInput.yaml @@ -0,0 +1,14 @@ +properties: + customdata: + type: object + first_name: + type: string + last_name: + type: string + password: + type: string + phone_number: + type: string + timezone: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Userdata.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Userdata.yaml new file mode 100644 index 0000000000..8acfc608a4 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Userdata.yaml @@ -0,0 +1,4 @@ +properties: + userdata: + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VerifyEmail.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VerifyEmail.yaml new file mode 100644 index 0000000000..d32c848c68 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VerifyEmail.yaml @@ -0,0 +1,7 @@ +properties: + user_token: + description: User verification token + type: string + writeOnly: true +required: + - user_token diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuit.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuit.yaml new file mode 100644 index 0000000000..2c12357e96 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuit.yaml @@ -0,0 +1,3 @@ +oneOf: +- $ref: './VlanVirtualCircuit.yaml' +- $ref: './VrfVirtualCircuit.yaml' diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitCreateInput.yaml new file mode 100644 index 0000000000..d4b72f38d3 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitCreateInput.yaml @@ -0,0 +1,3 @@ +oneOf: + - $ref: 'VlanVirtualCircuitCreateInput.yaml' + - $ref: 'VrfVirtualCircuitCreateInput.yaml' diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitList.yaml new file mode 100644 index 0000000000..03ecf33e2d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitList.yaml @@ -0,0 +1,6 @@ +properties: + virtual_circuits: + items: + $ref: './VirtualCircuit.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitUpdateInput.yaml new file mode 100644 index 0000000000..5205301aa3 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualCircuitUpdateInput.yaml @@ -0,0 +1,3 @@ +oneOf: + - $ref: 'VlanVirtualCircuitUpdateInput.yaml' + - $ref: 'VrfVirtualCircuitUpdateInput.yaml' diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetwork.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetwork.yaml new file mode 100644 index 0000000000..cb0c698fbf --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetwork.yaml @@ -0,0 +1,39 @@ +properties: + assigned_to: + $ref: './Href.yaml' + assigned_to_virtual_circuit: + description: True if the virtual network is attached to a virtual circuit. False + if not. + type: boolean + description: + type: string + facility: + $ref: './Href.yaml' + href: + type: string + id: + format: uuid + type: string + instances: + description: A list of instances with ports currently associated to this Virtual + Network. + items: + $ref: './Href.yaml' + type: array + metal_gateways: + description: A list of metal gateways currently associated to this Virtual Network. + items: + $ref: './MetalGatewayLite.yaml' + type: array + metro: + $ref: './Href.yaml' + metro_code: + description: The Metro code of the metro in which this Virtual Network is defined. + type: string + vxlan: + type: integer + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkCreateInput.yaml new file mode 100644 index 0000000000..1a74eca67a --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkCreateInput.yaml @@ -0,0 +1,23 @@ +properties: + description: + type: string + facility: + deprecated: true + description: The UUID (or facility code) for the Facility in which to create this + Virtual network. + type: string + metro: + description: The UUID (or metro code) for the Metro in which to create this Virtual + Network. + type: string + vxlan: + description: VLAN ID between 2-3999. Must be unique for the project within the + Metro in which this Virtual Network is being created. If no value is specified, + the next-available VLAN ID in the range 1000-1999 will be automatically selected. + example: 1099 + type: integer + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkList.yaml new file mode 100644 index 0000000000..8d3fd950b6 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VirtualNetworkList.yaml @@ -0,0 +1,6 @@ +properties: + virtual_networks: + items: + $ref: './VirtualNetwork.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanFabricVcCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanFabricVcCreateInput.yaml new file mode 100644 index 0000000000..a68635e0b0 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanFabricVcCreateInput.yaml @@ -0,0 +1,61 @@ +properties: + contact_email: + description: The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key. + type: string + format: email + description: + type: string + metro: + description: A Metro ID or code. When creating Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. + We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), or shared connections, this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), + so the origin of the interconnection can be a different metro set here. + type: string + name: + type: string + project: + type: string + redundancy: + description: Either 'primary' or 'redundant'. + type: string + service_token_type: + description: Either 'a_side' or 'z_side'. Setting this field to 'a_side' will create an interconnection with Fabric VCs (Metal Billed). Setting this field + to 'z_side' will create an interconnection with Fabric VCs (Fabric Billed). This is required when the 'type' is 'shared', but this is not applicable when the 'type' is 'dedicated'. + This parameter is included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details. + enum: + - a_side + - z_side + example: a_side + type: string + speed: + description: |- + A interconnection speed, in bps, mbps, or gbps. For Fabric VCs, this represents the maximum speed of the interconnection. For Fabric VCs (Metal Billed), this can only be one of the following: + ''50mbps'', ''200mbps'', ''500mbps'', ''1gbps'', ''2gbps'', ''5gbps'' or ''10gbps'', and is required for creation. For Fabric VCs (Fabric Billed), this field will always default to ''10gbps'' even if it is not provided. + For example, ''500000000'', ''50m'', or' ''500mbps'' will all work as valid inputs. + type: integer + example: 10000000000 + tags: + items: + type: string + type: array + type: + description: When requesting for a Fabric VC, the value of this field should be 'shared'. + type: string + enum: + - shared + vlans: + description: A list of one or two metro-based VLANs that will be set on the virtual circuits of primary + and/or secondary (if redundant) interconnections respectively when creating Fabric VCs. + VLANs can also be set after the interconnection is created, but are required to fully activate the virtual circuits. + example: + - 1000 + - 1001 + items: + type: integer + type: array +required: +- name +- metro +- type +- redundancy +- service_token_type +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuit.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuit.yaml new file mode 100644 index 0000000000..fb31bbc765 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuit.yaml @@ -0,0 +1,72 @@ +properties: + bill: + type: boolean + default: false + description: True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal. + bill_type: + type: string + nullable: true + description: Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil. + enum: + - metal_billed + - fabric_billed + description: + type: string + id: + format: uuid + type: string + name: + type: string + nni_vlan: + type: integer + port: + $ref: './Href.yaml' + project: + $ref: './Href.yaml' + speed: + description: For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on + Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. + Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details. + type: integer + status: + type: string + description: The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated + to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. + For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an `expired` status. + Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, + it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, + or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the + virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric. + # NOTE: Any new additions to the enum will affect users using generated SDKs. + enum: + - pending + - waiting_on_customer_vlan + - activating + - changing_vlan + - deactivating + - deleting + - active + - expired + - activation_failed + - changing_vlan_failed + - deactivation_failed + - delete_failed + tags: + items: + type: string + type: array + type: + type: string + enum: + - vlan + virtual_network: + $ref: './Href.yaml' + vnid: + type: integer + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitCreateInput.yaml new file mode 100644 index 0000000000..d5f9c4738d --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitCreateInput.yaml @@ -0,0 +1,28 @@ +properties: + description: + type: string + name: + type: string + nni_vlan: + maximum: 4094 + minimum: 2 + type: integer + project_id: + format: uuid + type: string + speed: + description: speed can be passed as integer number representing bps speed or string + (e.g. '52m' or '100g' or '4 gbps') + type: integer + tags: + items: + type: string + type: array + vnid: + description: A Virtual Network record UUID or the VNID of a Metro Virtual Network in + your project (sent as integer). + format: uuid + type: string +type: object +required: + - project_id diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitUpdateInput.yaml new file mode 100644 index 0000000000..1d88bf77b8 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VlanVirtualCircuitUpdateInput.yaml @@ -0,0 +1,17 @@ +properties: + description: + type: string + name: + type: string + speed: + description: Speed can be changed only if it is an interconnection on a Dedicated Port + type: string + tags: + items: + type: string + type: array + vnid: + description: A Virtual Network record UUID or the VNID of a Metro Virtual Network in + your project. + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Vrf.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Vrf.yaml new file mode 100644 index 0000000000..85f576eabe --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/Vrf.yaml @@ -0,0 +1,52 @@ +properties: + id: + format: uuid + type: string + name: + type: string + description: + description: Optional field that can be set to describe the VRF + type: string + bill: + type: boolean + default: false + description: True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted. + bgp_dynamic_neighbors_enabled: + description: Toggle to enable the dynamic bgp neighbors feature on the VRF + type: boolean + bgp_dynamic_neighbors_export_route_map: + description: Toggle to export the VRF route-map to the dynamic bgp neighbors + type: boolean + bgp_dynamic_neighbors_bfd_enabled: + description: Toggle BFD on dynamic bgp neighbors sessions + type: boolean + local_asn: + description: A 4-byte ASN associated with the VRF. + type: integer + format: int32 + virtual_circuits: + description: Virtual circuits that are in the VRF + type: array + items: + $ref: './VrfVirtualCircuit.yaml' + ip_ranges: + $ref: './VrfIpRangeList.yaml' + project: + $ref: './Project.yaml' + metro: + $ref: './Metro.yaml' + created_by: + $ref: './User.yaml' + href: + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfCreateInput.yaml new file mode 100644 index 0000000000..081a63b66c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfCreateInput.yaml @@ -0,0 +1,29 @@ +properties: + bgp_dynamic_neighbors_enabled: + description: Toggle to enable the dynamic bgp neighbors feature on the VRF + type: boolean + bgp_dynamic_neighbors_export_route_map: + description: Toggle to export the VRF route-map to the dynamic bgp neighbors + type: boolean + bgp_dynamic_neighbors_bfd_enabled: + description: Toggle BFD on dynamic bgp neighbors sessions + type: boolean + description: + type: string + ip_ranges: + $ref: './VrfIpRangeCreateInput.yaml' + local_asn: + type: integer + format: int32 + metro: + description: The UUID (or metro code) for the Metro in which to create this VRF. + type: string + name: + type: string + tags: + items: + type: string + type: array +required: +- metro +- name diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfFabricVcCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfFabricVcCreateInput.yaml new file mode 100644 index 0000000000..cd026b1892 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfFabricVcCreateInput.yaml @@ -0,0 +1,61 @@ +properties: + contact_email: + description: The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key. + type: string + format: email + description: + type: string + metro: + description: A Metro ID or code. When creating Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. + We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), or shared connections, this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), + so the origin of the interconnection can be a different metro set here. + type: string + name: + type: string + project: + type: string + redundancy: + description: Either 'primary' or 'redundant'. + type: string + service_token_type: + description: Either 'a_side' or 'z_side'. Setting this field to 'a_side' will create an interconnection with Fabric VCs (Metal Billed). Setting this field + to 'z_side' will create an interconnection with Fabric VCs (Fabric Billed). This is required when the 'type' is 'shared', but this is not applicable when the 'type' is 'dedicated'. + This parameter is included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details. + enum: + - a_side + - z_side + example: a_side + type: string + speed: + description: |- + A interconnection speed, in bps, mbps, or gbps. For Fabric VCs, this represents the maximum speed of the interconnection. For Fabric VCs (Metal Billed), this can only be one of the following: + ''50mbps'', ''200mbps'', ''500mbps'', ''1gbps'', ''2gbps'', ''5gbps'' or ''10gbps'', and is required for creation. For Fabric VCs (Fabric Billed), this field will always default to ''10gbps'' even if it is not provided. + For example, ''500000000'', ''50m'', or' ''500mbps'' will all work as valid inputs. + type: integer + example: 10000000000 + tags: + items: + type: string + type: array + type: + description: When requesting for a Fabric VC, the value of this field should be 'shared'. + type: string + enum: + - shared + vrfs: + description: This field holds a list of VRF UUIDs that will be set automatically on the virtual circuits of Fabric VCs on + creation, and can hold up to two UUIDs. Two UUIDs are required when requesting redundant Fabric VCs. The first UUID will be set on the primary virtual circuit, + while the second UUID will be set on the secondary. The two UUIDs can be the same if both the primary and secondary virtual circuits will be in the same VRF. + This parameter is included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details. + items: + format: uuid + type: string + type: array +required: +- name +- metro +- type +- redundancy +- service_token_type +- vrfs +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeCreateInput.yaml new file mode 100644 index 0000000000..6f69292b25 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeCreateInput.yaml @@ -0,0 +1,6 @@ +type: array +items: + type: string +description: A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/56"]. + IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between /56 and /64. + A VRF\'s IP ranges must be defined in order to create VRF IP Reservations, which can then be used for Metal Gateways or Virtual Circuits. diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeList.yaml new file mode 100644 index 0000000000..db7e72119a --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeList.yaml @@ -0,0 +1,4 @@ +type: array +items: + type: string +description: A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/56"]. diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeUpdateInput.yaml new file mode 100644 index 0000000000..352c55bd28 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpRangeUpdateInput.yaml @@ -0,0 +1,10 @@ +type: array +items: + type: string +description: A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/56"]. + IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between /56 and /64. + A VRF\'s IP ranges must be defined in order to create VRF IP Reservations, which can then be used for Metal Gateways or Virtual Circuits. + Adding a new CIDR address to the list will result in the creation of a new IP Range for this VRF. + Removal of an existing CIDR address from the list will result in the deletion of an existing IP Range for this VRF. Deleting an IP Range will result in the deletion of any VRF IP Reservations contained within the IP Range, as well as the VRF IP Reservation\'s associated Metal Gateways or Virtual Circuits. + If you do not wish to add or remove IP Ranges, either include the full existing list of IP Ranges in the update request, or do not specify the `ip_ranges` field in the update request. + Specifying a value of `[]` will remove all existing IP Ranges from the VRF. diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservation.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservation.yaml new file mode 100644 index 0000000000..f17bd109ef --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservation.yaml @@ -0,0 +1,59 @@ +properties: + address_family: + type: integer + cidr: + type: integer + created_at: + format: date-time + type: string + created_by: + $ref: './Href.yaml' + details: + type: string + href: + type: string + id: + format: uuid + type: string + metal_gateway: + $ref: './MetalGatewayLite.yaml' + netmask: + type: string + network: + type: string + project: + $ref: './Project.yaml' + state: + type: string + tags: + items: + type: string + type: array + type: + type: string + enum: + - vrf + vrf: + $ref: './Vrf.yaml' + public: + type: boolean + management: + type: boolean + manageable: + type: boolean + customdata: + type: object + bill: + type: boolean + project_lite: + $ref: './Project.yaml' + address: + type: string + gateway: + type: string + metro: + $ref: './Metro.yaml' +required: + - vrf + - type +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationCreateInput.yaml new file mode 100644 index 0000000000..c96ccc1950 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationCreateInput.yaml @@ -0,0 +1,30 @@ +properties: + cidr: + type: integer + example: 16 + description: The size of the VRF IP Reservation's subnet + customdata: + type: object + details: + type: string + network: + type: string + example: "10.1.2.0" + description: "The starting address for this VRF IP Reservation's subnet" + tags: + items: + type: string + type: array + type: + type: string + example: vrf + description: "Must be set to 'vrf'" + vrf_id: + type: string + format: uuid + description: The ID of the VRF in which this VRF IP Reservation is created. The VRF must have an existing IP Range that contains the requested subnet. This field may be aliased as just 'vrf'. +required: + - cidr + - network + - type + - vrf_id diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationList.yaml new file mode 100644 index 0000000000..bd84ddc8e2 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfIpReservationList.yaml @@ -0,0 +1,6 @@ +properties: + ip_addresses: + items: + $ref: './VrfIpReservation.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfList.yaml new file mode 100644 index 0000000000..148036ed0c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfList.yaml @@ -0,0 +1,6 @@ +properties: + vrfs: + items: + $ref: './Vrf.yaml' + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGateway.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGateway.yaml new file mode 100644 index 0000000000..5864d01ed6 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGateway.yaml @@ -0,0 +1,34 @@ +properties: + created_at: + format: date-time + type: string + created_by: + $ref: './Href.yaml' + href: + type: string + id: + format: uuid + type: string + ip_reservation: + $ref: './VrfIpReservation.yaml' + project: + $ref: './Project.yaml' + state: + description: The current state of the Metal Gateway. 'Ready' indicates the gateway + record has been configured, but is currently not active on the network. 'Active' + indicates the gateway has been configured on the network. 'Deleting' is a temporary + state used to indicate that the gateway is in the process of being un-configured + from the network, after which the gateway record will be deleted. + enum: + - ready + - active + - deleting + type: string + updated_at: + format: date-time + type: string + virtual_network: + $ref: './VirtualNetwork.yaml' + vrf: + $ref: './Vrf.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGatewayCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGatewayCreateInput.yaml new file mode 100644 index 0000000000..9e205084f8 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfMetalGatewayCreateInput.yaml @@ -0,0 +1,16 @@ +properties: + ip_reservation_id: + description: The UUID an a VRF IP Reservation that belongs to the same project as + the one in which the Metal Gateway is to be created. Additionally, the VRF IP Reservation + and the Virtual Network must reside in the same Metro. + format: uuid + type: string + virtual_network_id: + description: THe UUID of a Metro Virtual Network that belongs to the same project as + the one in which the Metal Gateway is to be created. Additionally, the Virtual Network + and the VRF IP Reservation must reside in the same metro. + format: uuid + type: string +required: + - ip_reservation_id + - virtual_network_id diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRoute.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRoute.yaml new file mode 100644 index 0000000000..88bdf5092c --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRoute.yaml @@ -0,0 +1,61 @@ +properties: + id: + description: The unique identifier for the newly-created resource + format: uuid + type: string + readOnly: true + example: e1ff9c2b-051a-4688-965f-153e274f77e0 + status: + description: The status of the route. Potential values are "pending", "active", "deleting", and "error", representing various lifecycle states of the route and whether or not it has been successfully configured on the network + type: string + readOnly: true + example: active + enum: + - pending + - active + - deleting + - error + prefix: + description: The IPv4 prefix for the route, in CIDR-style notation + type: string + example: 0.0.0.0/0 + next_hop: + description: The next-hop IPv4 address for the route + type: string + format: ipv4 + example: 192.168.1.254 + type: + description: VRF route type, like 'bgp', 'connected', and 'static'. Currently, only static routes are supported + type: string + readOnly: true + example: static + enum: + - static + created_at: + format: date-time + type: string + readOnly: true + updated_at: + format: date-time + type: string + readOnly: true + metal_gateway: + description: A link to the Metal Gateway to which this VRF Route is associated + readOnly: true + $ref: './VrfMetalGateway.yaml' + virtual_network: + description: A link to the Virtual Network to which this VRF Route is associated, through the Metal Gateway + readOnly: true + $ref: './VirtualNetwork.yaml' + vrf: + description: A link to the VRF within which this route exists + readOnly: true + $ref: './Vrf.yaml' + href: + type: string + readOnly: true + example: /routes/e1ff9c2b-051a-4688-965f-153e274f77e0 + tags: + items: + type: string + type: array diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteCreateInput.yaml new file mode 100644 index 0000000000..b9e672fb46 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteCreateInput.yaml @@ -0,0 +1,17 @@ +properties: + prefix: + description: The IPv4 prefix for the route, in CIDR-style notation. For a static default route, this will always be "0.0.0.0/0" + type: string + example: 0.0.0.0/0 + next_hop: + description: The IPv4 address within the VRF of the host that will handle this route + type: string + format: ipv4 + example: 192.168.1.254 + tags: + items: + type: string + type: array +required: +- prefix +- next_hop diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteList.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteList.yaml new file mode 100644 index 0000000000..1c9f021ea4 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteList.yaml @@ -0,0 +1,8 @@ +properties: + routes: + items: + $ref: './VrfRoute.yaml' + type: array + meta: + $ref: './Meta.yaml' +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteUpdateInput.yaml new file mode 100644 index 0000000000..db19555537 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfRouteUpdateInput.yaml @@ -0,0 +1,14 @@ +properties: + prefix: + description: The IPv4 prefix for the route, in CIDR-style notation. For a static default route, this will always be "0.0.0.0/0" + type: string + example: 0.0.0.0/0 + next_hop: + description: The IPv4 address within the VRF of the host that will handle this route + type: string + format: ipv4 + example: 192.168.1.254 + tags: + items: + type: string + type: array diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfUpdateInput.yaml new file mode 100644 index 0000000000..4dd5a4e359 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfUpdateInput.yaml @@ -0,0 +1,24 @@ +properties: + bgp_dynamic_neighbors_enabled: + description: Toggle to enable the dynamic bgp neighbors feature on the VRF + type: boolean + bgp_dynamic_neighbors_export_route_map: + description: Toggle to export the VRF route-map to the dynamic bgp neighbors + type: boolean + bgp_dynamic_neighbors_bfd_enabled: + description: Toggle BFD on dynamic bgp neighbors sessions + type: boolean + description: + type: string + ip_ranges: + $ref: './VrfIpRangeUpdateInput.yaml' + local_asn: + type: integer + format: int32 + description: The new `local_asn` value for the VRF. This field cannot be updated when there are active Interconnection Virtual Circuits associated to the VRF, or if any of the VLANs of the VRF's metal gateway has been assigned on an instance. + name: + type: string + tags: + items: + type: string + type: array diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuit.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuit.yaml new file mode 100644 index 0000000000..2bb47b5b1b --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuit.yaml @@ -0,0 +1,90 @@ +required: +- vrf +properties: + customer_ip: + description: >- + An IP address from the subnet that will be used on the Customer side. This parameter is optional, + but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, + the last usable IP address in the subnet will be used. + type: string + example: "12.0.0.2" + description: + type: string + id: + format: uuid + type: string + md5: + description: >- + The MD5 password for the BGP peering in plaintext (not a checksum). + type: string + metal_ip: + description: >- + An IP address from the subnet that will be used on the Metal side. This parameter is optional, + but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, + the first usable IP address in the subnet will be used. + type: string + example: "12.0.0.1" + name: + type: string + port: + $ref: './Href.yaml' + nni_vlan: + type: integer + peer_asn: + description: The peer ASN that will be used with the VRF on the Virtual Circuit. + type: integer + project: + $ref: './Href.yaml' + speed: + description: integer representing bps speed + type: integer + status: + type: string + description: >- + The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. + However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once + the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found + the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or + metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on + creation of a VRF Virtual Circuit. The status will change to `changing_peering_details` whenever an active VRF + Virtual Circuit has any of its peering details updated. + # NOTE: Any new additions to the enum will affect users using generated SDKs. + enum: + - pending + - waiting_on_peering_details + - activating + - changing_peering_details + - deactivating + - deleting + - active + - expired + - activation_failed + - changing_peering_details_failed + - deactivation_failed + - delete_failed + subnet: + description: >- + The /30 or /31 subnet of one of the VRF IP Blocks that will be used with the VRF for + the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we + will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer + IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used + as the Metal or Customer IP. + type: string + example: "12.0.0.0/30" + tags: + items: + type: string + type: array + type: + type: string + enum: + - vrf + vrf: + $ref: './Vrf.yaml' + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitCreateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitCreateInput.yaml new file mode 100644 index 0000000000..1938166450 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitCreateInput.yaml @@ -0,0 +1,65 @@ +properties: + customer_ip: + description: An IP address from the subnet that will be used on the Customer side. This parameter is optional, + but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, + the last usable IP address in the subnet will be used. + type: string + example: "12.0.0.2" + description: + type: string + md5: + description: | + The plaintext BGP peering password shared by neighbors as an MD5 checksum: + * must be 10-20 characters long + * may not include punctuation + * must be a combination of numbers and letters + * must contain at least one lowercase, uppercase, and digit character + nullable: true + type: string + pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{10,20}$' + metal_ip: + description: An IP address from the subnet that will be used on the Metal side. This parameter is optional, + but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, + the first usable IP address in the subnet will be used. + type: string + example: "12.0.0.1" + name: + type: string + nni_vlan: + maximum: 4094 + minimum: 2 + type: integer + peer_asn: + description: The peer ASN that will be used with the VRF on the Virtual Circuit. + type: integer + project_id: + format: uuid + type: string + speed: + description: speed can be passed as integer number representing bps speed or string + (e.g. '52m' or '100g' or '4 gbps') + type: integer + subnet: + description: The /30 or /31 subnet of one of the VRF IP Blocks that will be used with the VRF for + the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we + will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer + IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used + as the Metal or Customer IP. The subnet specified must be contained within an already-defined + IP Range for the VRF. + type: string + example: "12.0.0.0/30" + tags: + items: + type: string + type: array + vrf: + description: The UUID of the VRF that will be associated with the Virtual Circuit. + format: uuid + type: string +type: object +required: +- nni_vlan +- peer_asn +- project_id +- subnet +- vrf diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitUpdateInput.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitUpdateInput.yaml new file mode 100644 index 0000000000..4058c7c020 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/components/schemas/VrfVirtualCircuitUpdateInput.yaml @@ -0,0 +1,48 @@ +properties: + customer_ip: + description: >- + An IP address from the subnet that will be used on the Customer side. This parameter is optional, + but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, + the last usable IP address in the subnet will be used. + type: string + example: "12.0.0.2" + description: + type: string + md5: + description: | + The plaintext BGP peering password shared by neighbors as an MD5 checksum: + * must be 10-20 characters long + * may not include punctuation + * must be a combination of numbers and letters + * must contain at least one lowercase, uppercase, and digit character + type: string + pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{10,20}$' + metal_ip: + description: >- + An IP address from the subnet that will be used on the Metal side. This parameter is optional, + but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, + the first usable IP address in the subnet will be used. + type: string + example: "12.0.0.1" + name: + type: string + peer_asn: + description: The peer ASN that will be used with the VRF on the Virtual Circuit. + type: integer + speed: + description: Speed can be changed only if it is an interconnection on a Dedicated Port + type: string + subnet: + description: >- + The /30 or /31 subnet of one of the VRF IP Blocks that will be used with the VRF for + the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we + will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer + IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used + as the Metal or Customer IP. + type: string + example: "12.0.0.0/30" + tags: + items: + type: string + type: array +type: object diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/openapi3.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/openapi3.yaml new file mode 100644 index 0000000000..1397f45487 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/openapi3.yaml @@ -0,0 +1,40 @@ +openapi: 3.0.0 +info: + version: 1.0.0 + title: Example Duplicate Refs API + contact: + email: support@example.com + name: Example API Team + description: | + Sample API spec to validate handling of different file paths that reference the same file + license: + name: Equinix Metal + url: https://metal.equinix.com/legal/ + termsOfService: https://metal.equinix.com/legal/ +servers: + - url: https://api.example.com/duplicateRefs +components: + schemas: + Error: + $ref: "./components/schemas/Error.yaml" + Event: + $ref: "./components/schemas/Event.yaml" + EventList: + $ref: "./components/schemas/EventList.yaml" +paths: + /connections/{connection_id}/ports/{id}/events: + $ref: ./paths/connections/connection_id/ports/id/events.yaml + /devices/{id}/events: + $ref: ./paths/devices/id/events.yaml + /events: + $ref: ./paths/events.yaml + /events/{id}: + $ref: ./paths/events/id.yaml + /organizations/{id}/events: + $ref: ./paths/organizations/id/events.yaml + /projects/{id}/events: + $ref: ./paths/projects/id/events.yaml + /routes/{id}/events: + $ref: ./paths/routes/id/events.yaml + /virtual-circuits/{id}/events: + $ref: ./paths/virtual-circuits/id/events.yaml diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/events.yaml new file mode 100644 index 0000000000..e684f0cf10 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/events.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a list of the interconnection events + operationId: findInterconnectionEvents + parameters: + - description: Interconnection UUID + in: path + name: connection_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../components/schemas/EventList.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve interconnection events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/ports/id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/ports/id/events.yaml new file mode 100644 index 0000000000..b96b25ac29 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/connections/connection_id/ports/id/events.yaml @@ -0,0 +1,46 @@ +get: + description: Returns a list of the interconnection port events + operationId: findInterconnectionPortEvents + parameters: + - description: Interconnection UUID + in: path + name: connection_id + required: true + schema: + format: uuid + type: string + - description: Interconnection Port UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../../../components/schemas/Event.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve interconnection port events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/devices/id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/devices/id/events.yaml new file mode 100644 index 0000000000..3f56542376 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/devices/id/events.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a list of events pertaining to a specific device + operationId: findDeviceEvents + parameters: + - description: Device UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../components/schemas/EventList.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve device's events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events.yaml new file mode 100644 index 0000000000..fd119be3ea --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events.yaml @@ -0,0 +1,20 @@ +get: + description: Returns a list of the current user’s events + operationId: findEvents + parameters: + responses: + "200": + content: + application/json: + schema: + $ref: "../components/schemas/EventList.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../components/schemas/Error.yaml" + description: unauthorized + summary: Retrieve current user's events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events/id.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events/id.yaml new file mode 100644 index 0000000000..ab793220d1 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/events/id.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a single event if the user has access + operationId: findEventById + parameters: + - description: Event UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../components/schemas/Event.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../components/schemas/Error.yaml" + description: not found + summary: Retrieve an event + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/organizations/id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/organizations/id/events.yaml new file mode 100644 index 0000000000..b778851f9f --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/organizations/id/events.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a list of events for a single organization + operationId: findOrganizationEvents + parameters: + - description: Organization UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../components/schemas/EventList.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve organization's events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/projects/id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/projects/id/events.yaml new file mode 100644 index 0000000000..93828fb412 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/projects/id/events.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a list of events for a single project + operationId: findProjectEvents + parameters: + - description: Project UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../components/schemas/EventList.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve project's events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/routes/id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/routes/id/events.yaml new file mode 100644 index 0000000000..8cb492b933 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/routes/id/events.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a list of the VRF route events + operationId: findVrfRouteEvents + parameters: + - description: VRF Route UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../components/schemas/Event.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve VRF route events + tags: + - Events diff --git a/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/virtual-circuits/id/events.yaml b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/virtual-circuits/id/events.yaml new file mode 100644 index 0000000000..c3b46da5c8 --- /dev/null +++ b/modules/swagger-parser-v3/src/test/resources/oas3.fetched/paths/virtual-circuits/id/events.yaml @@ -0,0 +1,39 @@ +get: + description: Returns a list of the virtual circuit events + operationId: findVirtualCircuitEvents + parameters: + - description: Virtual Circuit UUID + in: path + name: id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "../../../components/schemas/Event.yaml" + description: ok + "401": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: unauthorized + "403": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: forbidden + "404": + content: + application/json: + schema: + $ref: "../../../components/schemas/Error.yaml" + description: not found + summary: Retrieve virtual circuit events + tags: + - Events